TCP/IP四层模型及各层协议首部详述
1. OSI七层和TCP/IP四层的关系
1.1 OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。
1.2 OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。
1.3 OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。
TCP:transmission control protocol 传输控制协议
UDP:user data protocol 用户数据报协议
OSI七层网络模型 | TCP/IP四层概念模型 | 对应网络协议 |
应用层(Application) | 应用层 | HTTP、TFTP, FTP, NFS, WAIS、SMTP |
表示层(Presentation) | Telnet, Rlogin, SNMP, Gopher | |
会话层(Session) | SMTP, DNS | |
传输层(Transport) | 传输层 | TCP, UDP |
网络层(Network) | 网络层 | IP, ICMP, ARP, RARP, AKP, UUCP |
数据链路层(Data Link) | 数据链路层 | FDDI, Ethernet, Arpanet, PDN, SLIP, PPP |
物理层(Physical) | IEEE 802.1A, IEEE 802.2到IEEE 802.11 |
2. OSI七层协议模型
应用层协议需要掌握的是:HTTP(Hyper text transfer protocol)、FTP(file transfer protocol)、SMTP(simple mail transfer rotocol)、POP3(post office protocol 3)、IMAP4(Internet mail access protocol)
3. TCP/IP四层模型
3.1 应用层:对应OSI中的应用层、表示层、会话层
3.2 物理链路层:对应OSI中的数据链路层、物理层(也有叫网络接口层)
3.3 数据包说明:
IP层传输单位是IP分组,属于点到点的传输;TCP层传输单位是TCP段,属于端到端的传输
UPD首部
UPD首部格式如下:
UDP 是无连接的,即发送数据之前不需要建立连接。
UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。
UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。
UDP 支持一对一、一对多、多对一和多对多的交互通信。
UDP 的首部开销小,只有 8 个字节
端口号:用来表示发送和接受进程。由于 I P层已经把I P数据报分配给T C P或U D P(根据I P首部中协议字段值),因此T C P端口号由T C P来查看,而 U D P端口号由UDP来查看。T C P端口号与UDP端口号是相互独立的。
长度:UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段的最小值为 8字节(发送一份0字节的UDP数据报是 O K)。
检验和:UDP检验和是一个端到端的检验和。它由发送端计算,然后由接收端验证。其目的是为了发现UDP首部和数据在发送端到接收端之间发生的任何改动
TCP报文段首部
TCP报文段首部的前20个字节是固定的,后面的字节是根据需要增加的。首部格式如下:
TCP 提供可靠交付的服务,保证数据无差错、不丢失、不重复、按序到达。
TCP 提供全双工通信。
TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段。一个TCP 报文段分为首部和数据两部分
1、第一个4字节:
(1)源端口,16位;发送数据的源进程端口
(2)目的端口,16位;接收数据的进程端口
2、第二个4字节与第三个4字节
(1)序号,32位;代表当前TCP数据段第一个字节占整个字节流的相对位置;
(2)确认号,32位;代表接收端希望接收的数据序号,为上次接收到数据报的序号+1,当ACK标志位为1时才生效。
3、第四个4字节:
(1)数据偏移,4位;实际代表TCP首部长度,最大为60字节。
(2)6个标志位,每个标志位1位;
SYN,为同步标志,用于数据同步;
ACK,为确认序号,ACK=1时确认号才有效;
FIN,为结束序号,用于发送端提出断开连接;
URG,为紧急序号,URG=1是紧急指针有效;
PSH,指示接收方立即将数据提交给应用层,而不是等待缓冲区满;
RST,重置连接。
(3)窗口值,16位;标识接收方可接受的数据字节数。详解可参看:http://www.cnblogs.com/woaiyy/p/3554182.html
4、第五个4字节
(1)校验和,16位;用于检验数据完整性。
(2)紧急指针,16位;只有当URG标识位为1时,紧急指针才有效。紧急指针的值与序号的相加值为紧急数据的最后一个字节位置。用于发送紧急数据。
IP报文
IP报文是在网络层传输的数据单元,也叫IP数据报。IP报文格式如下图
1、第一个4字节(也就是第一行):
(1)版本号(Version),4位;用于标识IP协议版本,IPv4是0100,IPv6是0110,也就是二进制的4和6。
(2)首部长度(Internet Header Length),4位;用于标识首部的长度,单位为4字节,所以首部长度最大值为:(2^4 - 1) * 4 = 60字节,但一般只推荐使用20字节的固定长度。
(3)服务类型(Type Of Service),8位;用于标识IP包的优先级,但现在并未使用。
(4)总长度(Total Length),16位;标识IP数据报的总长度,最大为:2^16 -1 = 65535字节。
2、第二个四字节:
(1)标识(Identification),16位;用于标识IP数据报,如果因为数据链路层帧数据段长度限制(也就是MTU,支持的最大传输单元),IP数据报需要进行分片发送,则每个分片的IP数据报标识都是一致的。
(2)标志(Flag),3位,但目前只有2位有意义;最低位为MF,MF=1代表后面还有分片的数据报,MF=0代表当前数据报已是最后的数据报。次低位为DF,DF=1代表不能分片,DF=0代表可以分片。
(3)片偏移(Fragment Offset),13位;代表某个分片在原始数据中的相对位置。
3、第三个四字节:
(1)生存时间(TTL),8位;以前代表IP数据报最大的生存时间,现在标识IP数据报可以经过的路由器数。
(2)协议(Protocol),8位;代表上层传输层协议的类型,1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。
(3)校验和(Header Checksum),16位;用于验证数据完整性,计算方法为,首先将校验和位置零,然后将每16位二进制反码求和即为校验和,最后写入校验和位置。
4、第四个四字节:源IP地址
5、第五个四字节:目的IP地址
以太网的帧格式如下所示:
在图中,帧末尾就是CRC校验码。
此外,对其他字段解释如下:
字段 | Meaning |
目的地址 | MAC地址 |
源地址 | MAC地址 |
类型 | 三种值,分别对应IP、ARP、RARP |
最常用的 MAC 帧是以太网V2的格式
注:
1. 以太网帧中的数据长度规定最小46字节,最大1500字节。ARP和RARP数据包的长度不够46字节,要在后面补填充位。最大值1500称为以太网的最⼤大传输单元MTU,不同的网络类型有不同的MTU。如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation)。
2. ifconfig命令的输出中也有“MTU:1500”。注 意,MTU这 个概念指数据帧中有效载荷的最大长度,不包括帧首部的长度。
3. MAC地址是指网卡的硬件地址,长度是48位。是在网卡出厂时固化的。用ifconfig命令看一下,“HWaddr 00:15:F2:14:9E:3F”部分就是硬件地址。
————————————————
版权声明:本文为CSDN博主「Unix探索之旅」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sty124578/article/details/79085608
网络设备:
交换机:负责组建局域网,看的是MAC地址。
路由器:负责组建广域网,看的是IP地址。
传输介质:
常用的两种传输介质是双绞线和光纤。
OSI七层模型(由于七层太过于严格,所以并没有应用在计算机中,而是基于 其衍生了一个TCP/IP四层模型,被广大操作系统所应用):
7,应用层:网络服务与最终用户的一个接口。
6,表示层:数据的表示安全压缩。
5,会话层:建立,管理,中止会话。
4,传输层:定义传输数据的协议端口号。
3,网络层:进行逻辑地址追寻,实现不同网络之间的路径选择。
2,数据链路层:建立逻辑链接,进行硬件地址寻址。
1,物理层:建立,维护,断开物理连接。
TCP/IP四层模型:
4,应用层:负责处理特定的应用程序细节。
3,传输层:只要为两台主机上的应用程序提供端到端的通信。
2,网络层:处理分组在网络中的活动。
1,网络接口层:建立,维护,断开物理连接。
传输层协议:
TCP和UDP是两种最为著名的传输层协议,二者都使用IP作为网络层的协议。
TCP:传输控制协议,面向连接的协议。(适用于一对一传输)
UDP:用户数据报协议,是一种无连接的协议。(适用于一次传输少量数据,传输效率高,延迟小,可以一对一,一对多,多对一和多对多的交互通信)
TCP与UDP区别:
1,TCP面向连接(如打电话要先拨号建立连接),UDP是无连接的,即发送数据之前不需要建立连接。
2,TCP提供可靠的服务,无差错,无丢失,不重复,且按序到达;UDP尽最大努力交付,不保证可靠交付。
3,UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信和广播通信。
4,TCP只支持一对一通信。UDP支持一对一,一对多,多对一,多对多的交互通信。
5,TCP对系统资源要求较多,UCP对系统资源要求较少。
IP地址:
现有的互联网是在IPv4协议的基础上运行的,采用32位地址长度,IPv4定义的地址空间将被耗尽。IPv6是下一版本的互联网协议,采用128位地址长度。几乎可以不受限制的提供地址。
IP地址是指互联网协议地址。是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
私有地址
A类 :10.0.0.0–10.255.255.255
B类 :172.16.0.0–172.31.255.255
C类 :192.168.0.0–192.168.255.255
————————————————
版权声明:本文为CSDN博主「sanda1017」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sanda1017/article/details/90680570
posted on 2020-03-23 15:46 Serein&QH 阅读(5490) 评论(0) 编辑 收藏 举报