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地址


以太网的帧格式如下所示:

5 

在图中,帧末尾就是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”部分就是硬件地址。


  • 16
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
TCP/IP四层模型和五模型是两种常用的网络协议参考模型,用于描述计算机网络中不同次的功能和通信规则。 TCP/IP四层模型包括:网络接口、互联网、传输和应用。网络接口负责将数据包转换成适合传输的物理格式,并进行网络接口的选择。互联网负责进行网络间的数据传输,通过IP协议来确定数据包的传输路径。传输负责提供端到端的数据传输服务,包括TCP和UDP协议TCP提供可靠的面向连接的传输服务,而UDP提供不可靠的面向无连接的传输服务。应用包括各种网络应用协议,如HTTP、FTP、SMTP等,负责应用程序之间的通信。 五模型TCP/IP四层模型的基础上增加了一个会话。五模型包括:物理、数据链路、网络、传输和应用。物理负责数据在物理媒介上的传输,包括电缆、光纤等。数据链路负责将数据分帧,并进行错误检测和纠正,如以太网、无线局域网等。网络负责进行数据包的路由选择和寻址,如IP。传输提供端到端的数据传输服务,如TCP和UDP。应用包括各种应用协议,如HTTP、FTP等。 两种模型虽然在命名和次划分上有所不同,但其基本结构和功能相似。TCP/IP模型是互联网中使用最广泛的模型,而五模型是OSI参考模型中的一部分。无论使用哪种模型,它们都为网络的设计、实现和管理提供了一种标准化的方法,使不同厂商和组织之间的网络设备和应用能够进行互通和协作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值