1.体系架构 主要协议
1.1数据链路层
物理传输媒介:例如网线。
数据链路层:网卡接口的网络驱动程序,处理数据在物理传输媒介上传输。
不同物理网络具有不同的电器特性,而网络驱动程序隐藏了这些细节,为上层协议提供了统一的接口。
ARP=address resolve protocol 地址解析协议
实现任意网络层地址到任意物理层地址的转换
RARP=reverse address resolve protocol 逆地址解析协议
1.2网络层
网络层的任务即是选择这些节点来确定两台主机之间的通讯路径。
IP协议:根据IP地址来决定如何投递信息(逐跳方式)。
ICMP协议:检测网络连接(IP协议的补充)。
1.3传输层
传输层为两台主机上的应用程序提供了端与端的通讯,只会关心通信的起始端和目的端,不在乎数据包的中转过程。
传输层的TCP协议:transmission control protocol为应用层提供可靠的 面向连接的 基于流的服务(超时重传数据,通信的双方必须先建立TCP连接并在内核中保持维持连接的数据结构,比如连接状态读写缓存区还有定时器)
UDP协议:User Control Transmission Protocol为应用层提供不可靠,无连接,基于数据报的服务(发送成功后内核缓冲区中的数据报便丢弃)。
SCTP协议:Stream Control Transmission Protocol为在因特网上传输电话信号设计的服务。
1.4应用层
应用层的协议有很多,如PING应用程序,利用ICMP检测网络连接;TELNET远程登录协议,在本地完成远程服务。OSPF:open shortest Path First名为开放最短路径优先,动态路由更新协议,用于路由器之间的通信。DNS:Domain Name Service域名服务,提供机器域名到IP地址的转换功能。
2.封装
每层的协议数据都将在上层的数据基础上加上自己的头/尾部信息。
frame帧:传输媒介不同,帧的类型也不同。
以太网传输以太网帧,令牌环网络上令牌环帧
分用demultiplexing 使用帧自下往上传递时,各层协议依次处理帧中本层负责头部数据,获取信息,处理后帧交给应用程序。
IP数据报的头部采用16位的协议字段来区分它们,TCP的报文段和UDP的数据报通过16位端口号区别
例如DNS对应端口号53 HTTP为80
3.IP协议
3.1IP协议的特点
IP协议是TCP/IP协议族的动力,为上层协议提供无状态,无连接,不可靠的服务。
无状态是指IP通信双方不同步传输数据的状态信息,无法处理乱序(发送的数据报第1个比第N个慢)和重复的IP数据报(同一个IP报通过不同的路径到达)。TCP协议能自我处理乱序重复报文段。
无状态高效,简单,常在UDP HTTP协议中。
无连接是指IP通信双方都不长久维持对方的任何信息,每次发送数据都需要指定对方的IP地址。
3.2IP头部结构
IP头部信息出现在每个IP数据报中,用于指定IP通信的源端IP地址、目的端IP地址,指导IP的分片和重组,以及指定部分的通信行为。如IPV4结构
IP头部有32位字,也就是4个字节,4位的TOS字段表示最小延迟,最大吞吐量,最高可靠性和最小费用,其中至多有一个置1。16位的总长度是整个IP数据报的总长度,2的16次方-1,65535字节,由于MTU的限制,数据报会被分片传输(第二行)。
TTL是指数据报到达目的地址前允许的经过的路由器跳数,防止陷入路由循环。8位协议用来区分上层协议,ICMP为1 TCP为6 UDP为17。
最后一个字段选项字段,是可变长的可选信息最多包含44字节,包括记录路由,时间戳,松散源路由选择。
IPV6结构
8位通讯类型指示数据流通讯类型或优先级
20位的流标签,对于连接有服务质量的通讯记录。
16位静荷长度,是指IPv6扩展头部和应用程序之间的和。
16制来表示IPv6 IP地址。
3.3IP分片
当IP数据报长度超过帧的MTU时,它将被分片传输。
分片有可能发生在发送端也可能发生在中转路由器,也可能多次分片,但只有在最终的机器上才会重新组装。
数据报的标识、标志、和片偏移。
3.4IP路由
IP路由决定发送数据报到目标机器的路径。
1.查找路由表中和数据报的目标IP地址完全匹配的的主机IP地址。
2.查找路由表中和数据报的目标IP地址具有完全相同的网络ID的网络IP地址。
3.选择默认路由,通常意味着数据报的下一跳是网关。