付新点了点头,他知道高文新是什么意思,不过他还是忍不住看了高文新一眼,心中感叹,政客果然没一个是简单的啊!这个高文新很明显就是掌握了他付新还没有说完的这个节奏。
付新着实还没有说完呢,刚刚他仅仅是讲了tcp/ip协议的产生背景。
付新继续说道:“tcp/ip协议不是tcp和ip这两个协议的合称,而是指因特网整个tcp/ip协议族。从协议分层模型方面来讲,tcp/ip由四个层次组成:网络接口层、网络层、传输层、应用层。
网络接口层又称链路层,它实际上并不是因特网协议组中的一部分,但是它是数据包从一个设备的网络层传输到另外一个设备的网络层的方法。
这个过程能够在网卡的软件驱动程序中控制,也可以在韧体或者专用芯片中控制。这将完成如添加报头准备发送、通过物理媒介实际发送这样一些数据链路功能。另一端,链路层将完成数据帧接收、去除报头并且将接收到的包传到网络层。
然而,链路层并不经常这样简单。它也可能是一个虚拟专有网络(vpn)或者隧道,在这里从网络层来的包使用隧道协议和其他(或者同样的)协议组发送而不是发送到物理的接口上。
vpn和隧道通常预先建好,并且它们有一些直接发送到物理接口所没有的特殊特点,例如,它可以加密经过它的数据。
由于现在链路“层”是一个完整的网络,这种协议组的递归使用可能引起混淆。但是它是一个实现常见复杂功能的一个优秀方法。尽管,它需要注意预防一个已经封装并且经隧道发送下去的数据包进行再次地封装和发送。
网络接口层与osi参考模型中的物理层和数据链路层相对应。网络接口层是tcp/ip与各种lan或wan的接口。
网络接口层在发送端将上层的ip数据报封装成帧后发送到网络上;数据帧通过网络到达接收端时,该结点的网络接口层对数据帧拆封,并检查帧中包含的mac地址。如果该地址就是本机的mac地址或者是广播地址,则上传到网络层,否则丢弃该帧。
当使用串行线路连接主机与网络,或连接网络与网络时,例如,主机通过modem和电话线接入inter,则需要在网络接口层运行slip或ppp协议。
slip(serial_line_inter_protocol)协议提供了一种在串行通信线路上封装ip数据报的简单方法,使用户通过电话线和modem能方便地接入tcp/ip网络。
ppp(point_to_point_protocol)协议是一种有效的点到点通信协议,解决了slip存在的上述问题,即可以支持多种网络层协议(如ip、ipx等),支持动态分配的ip地址;并且ppp帧中设置了校验字段,因而ppp在网络接口层上具有差错检验能力。
数据链路层是负责接收ip数据包并通过网络发送,或者从网络上接收物理帧,抽出ip数据包,交给ip层。
arp是正向地址解析协议,通过已知的ip,寻找对应主机的mac地址。
rarp是反向地址解析协议,通过mac地址确定ip地址。比如无盘工作站还有dhcp服务。
常见的接口层协议有:
ether802.3、token_ring802.5、x.25、frame_relay、hdlc、ppp、atm等。
网络层是osi参考模型中的第三层,介于运输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
主要内容有:虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、x。25协议、综合业务数据网(isdn)、异步传输模式(atm)及网际互连原理与实现。
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。
网络层关系到通信子网的运行控制,体现了网络应用环境中资源子网访问通信子网的方式。网络层从物理上来讲一般分布地域宽广,从逻辑上来讲功能复杂,因此是osi模型中面向数据通信的下三层(也即通信子网)中最为复杂也最关键的一层。
网络层负责相邻计算机之间的通信。其功能包括三方面。
第一,处理来自传输层的分组发送请求,收到请求后,将分组装入ip数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
第二,处理输入数据报:首先检查其合法性,然后进行寻径——假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
第三,处理路径、流控、拥塞等问题。
网络层包括:ip(inter_protocol)协议、icmp(inter_control_message_protocol)
控制报文协议、arp(address_resolution_protocol)地址转换协议、rarp(reverse_arp)反向地址转换协议。
ip是网络层的核心,通过路由选择将下一条ip封装后交给接口层。ip数据报是无连接服务。
icmp是网络层的补充,可以回送报文。用来检测网络是否通畅。
ping命令就是发送icmp的echo包,通过回送的echorelay进行网络测试。
传输层,是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。
传输层(transport_layer)是osi中最重要、最关键的一层,是唯一负责总体的数据传输和数据控制的一层。
传输层提供端到端的交换数据的机制,传输层对会话层等高三层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。
传输层也称为运输层。传输层只存在于端开放系统中,是介于低三层通信子网系统和高三层之间的一层,但是很重要的一层。因为它是源端到目的端对数据传送进行控制从低到高的最后一层。
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异。
例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费用各不相同。
对于会话层来说,却要求有一性能恒定的接口。传输层就承担了这一功能。它采用分流/合流,复用/解复用技术来调节上述通信子网的差异,使会话层感受不到。此外传输层还要具备差错恢复,流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异。
传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口。
上述功能的最终目的是为会话提供可靠的,无误的数据传输。
传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段三个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种。
传输层服务分成五种类型。基本可以满足对传送质量,传送速度,传送费用的各种不同需要。
传输层提供应用程序间的通信。
其功能包括:一、格式化信息流;二、提供可靠传输。
为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即耳熟能详的“三次握手”过程,从而提供可靠的数据传输。
传输层协议主要是:传输控制协议tcp(transmission_control_protocol)和用户数据报协议udp(user_datagram_protocol)。
应用层也称为应用实体(ae),它由若干个特定应用服务元素(sase)和一个或多个公用应用服务元素(case)组成。每个sase提供特定的应用服务,例如文件运输访问和管理(ftam)、电子文电处理(mhs)、虚拟终端协议(vap)等。cas