数据与计算机通信-网际协议和运输协议
阅读数:153 评论数:0
跳转到新版页面分类
网络/通信
正文
1、IPV4
上图是ipv4的首部:
(1)版本:其值为4
(2)首部长度:以32比特字为单位的首部长度,最小值为5.
(3)服务类型:前6位称为DS(Differentiated Services,区分服务)字段,后两位称为ECN(Explicit Congestion Notification,显示通知字段)
(4)长度:数据报的长度,包括首部和数据,以32比特为单位
(5)标识:一个序号,它与源地址、目的地址以及用户协议结合起来使用,以便唯一地标识一个数据报。
(6)标志
(7)偏移量:指出这个数据报片在源数据报中的位置,以64比特为测量单位
(8)TTL:生存时间
(9)协议:指出目的系统中接收数据字段的上层协议。TCP=6,UDP=17,ICMP=1等
(10)检验和:仅仅对首部的差错检验
2、IP地址
IP地址通常用点分十进制表示法书写,就是用一个十进制来表32比特地址中的每个八位组。0.0.0.0代表的是”本网络中的本主机“,全0的IP地址是在一开始申请DHCP的时候会用。255.255.255.255代表”本网广播“,如果一个IP地址主机号全为0,就代表一个网段,如果一个IP地址的主机号全为1,代表的是在某网段内的广播地址。
(1)A类网络地址
0和127的网络地址被保留,因此只有126个可能的A类网络,127用于lookback,0表示是本地宿主机。
其中10.*.*.*是A类网络中的用于私用网络的网络地址。
(2)B类网络地址
共有$2^{14}$=16384个B类网络地址(128~191)。
其中172.16.*.*~172.131.255.255是B类网络中用于私用网络的网络地址。
(3)C类网络地址
$2^{21}$=2097152个C类网络地址(192~223)。
192.168.0.0~192.168.*.*是C类网格中用于私用网络的网络地址。
3、子网
互联网地址的“主机”部分被划分为子网号和主机号两部分,这样从互联网的其他成员来看,这个区域上只有一个网络,本地路由器在选择路由时,把IP地址的“网络”部分和子网号组成新的网络号。
4、ICMP
(1)终点不可达,超时;源站抑制
(2)参数问题
(3)重定向
(4)回送和回送回答
(5)时间戳
(6)时间戳问答
(7)地址掩码请求
(8)地址掩码回答
5、APR(Address Resolution Protocol)
工作过程:
(1)局域网中的每个系统都要维护一张已知的IP与子网地址影射关系的表
(2)当某个IP地址需要被映射成一个子网地址,而在该系统的表中又找不到其映射关系时,系统使用ARP直接从局域网协议的顶层广播此请求。被广播的消息中含有需要寻找相应子网地址的IP地址。
(3)该子网上的其他主机监听ARP消息,并且在与其地址匹配的情况时做出回答。在回答中包括 发出回答的主机的IP地址及其子网地址。
(4)原始的请求中包括了发出请求的主机的IP地址及其子网地址。任何感兴趣的主机都可以将此信息复制到它自己的本地表中,以避免将来再用ARP消息来获取它
(5)ARP消息也可用于简单地广播某个主机的IP地址和子网地址,因为子网中的其他主机可能需要它。
6、IPV6
已经定义的扩展首部:
(1)逐跳选项首部:定义了要求逐跳处理的特殊选项
(2)路由选择首部:提供了类似于IPv4源选择的扩展路由选择
(3)分片首部:包含了分片和重装的信息
(4)鉴别首部:提供了分组的完整性及其鉴别
(5)封装安全有效载荷首部:提供了保密手段
(6)目的地选项首部:包含了由目的结点检查的可选信息
7、运输协议
(1)TCP
3次握手连接,4次握手断开
- LISTEN:等待从任何远端TCP和端口的连接请求。
- SYN_SENT:发送完一个连接请求后等待一个匹配的连接请求。
- SYN_REVD:接收到连接请求以后,等待连接请求确认。
- ESTABLISHED:表示一个打开的连接,可以进行数据传输。
- FIN_WAIT_1,FIN_WAIT_2:这两个状态的真实含义都是表示等待对方FIN报文,FIN_WAIT_1状态实际上是当socket在established状态时,它紫禁惊雷主动关闭连接,向对方发送了FIN报文,此时该socket进入FIN_WAIT_1.而当对方回应ACK报文后,则进入到FIN_WAIT_2状态。
- TIME_WAIT:表示接收了对方的FIN报文,并发送出来ACK报文,就等2MSL后即可回到CLOSED状态。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入TIME_WAIT状态,而无须经过FIN_WAIT_2。
- CLOSING:这种状态比较特殊,表示你发送FIN报文后,并没有收到对方的ACK报文,反而却收到了对方的FIN报文,因为可能双方同时close一个socket。
- CLOSE_WAIT:当对方close一个socket后发磅FIN报文给自己,然后回应一个ACK报文给对方,此时进入close_wait状态。女足查没有数据再发送过来,就可以发送FIN报文给对方,。
- LAST_ACK:被动关闭后,发磅FIN报文后,最后等待对方的ACK报文(超时自动关闭)。
确认号:包含了TCP实体希望接收的下一个数据八位组的序号。
(2)UDP