ISO/OSI网络模型共有七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
TCP/IP网络模型:应用层,传输层,网际层,网络接口
我们最常使用的TCP属于传输层,IP数据网络层,ARP在数据链路层。
TCP头格式
- Sequence Number是包的序号,用来解决网络包乱序(reordering)问题。
- Acknowledgement Number就是ACK——用于确认收到,用来解决不丢包的问题。
- Window又叫Advertised-Window,也就是著名的滑动窗口(Sliding Window),用于解决流控的。
- TCP Flag ,也就是包的类型,主要是用于操控TCP的状态机的。
其实,网络上的传输是没有连接的,包括TCP也是一样的。而TCP所谓的“连接”,其实只不过是在通讯的双方维护一个“连接状态”,让它看上去好像有连接一样。
当应用程序用T C P传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),T C P传给I P的数据单元称作 T C P报文段或简称为 T C P段(T C P s e g m e n t)。I P传给网络接口层的数据单元称作 I P数据报(IP datagram)。通过以太网传输的比特流称作帧(Fr a m e )。I P和网络接口层之间传送的数据单元应该是分组( p a c k e t)。分组既可以是一个I P数据报,也可以是I P数据报的一个片(f r a g m e n t)。
ip数据报长度范围:46-1500
################################################################## Ethernet II以太网帧格式:
目标MAC 源MAC 类型 数据 FCS 6字节 6字节 2字节 46-1500字节 4字节
所以最小6+6+2+46+4 = 64,最大6+6+2+1500+4 = 1518。 (注:ISL封装后可达1548字节,802.1Q封装后可达1522字节) ################################################################## Ethernet 802.3 raw帧格式:
目标MAC 源MAC 总长度 0xFFFF 数据 FCS 6字节 6字节 2字节 2字节 44-1498字节 4字节
最小6+6+2+2+44+4 = 64,最大6+6+2+2+1498+4 = 1518。 ################################################################## Ethernet 802.3 SAP帧格式:
目标MAC 源MAC 总长 DSAP SSAP 控制 数据 FCS 6字节 6字节 2字节 1字节 1字节 1字节 43-1497字节 4字节
最小:6+6+2+1+1+1+43+4 = 64。最大:6+6+2+1+1+1+1497+4 = 1518。 ################################################################## Ethernet 802.3 SNAP帧格式: 目标MAC 源MAC 总长 0xAA 0xAA 0x03 OUI ID 类型 数据 FCS 6字节 6字节 2字节 1字节 1字节 1字节 3字节 2字节 38-1492字节 4字节 最小:6+6+2+1+1+1+3+2+38+4 = 64 最大:6+6+2+1+1+1+3+2+1492+4 = 1518 ###################################################################
所以,以太网帧的长度范围是64-1518。 最小帧长度的定义,与能够检测冲突的最少时间有关,具体内容可以查阅“碰撞槽”的相关信息。
TCP和UDP首部使用16bit存储端口号来标识不同的应用程序。所以端口号的范围0~65535。
查看系统中程序的保留端口号: less /ect/services