[计算机网络]IP协议( 三 )


发 。
如果要发送的数据包的目的地址是202.10.1.2
依次和路由表前几项进行对比, 发现都不匹配 。按缺省路由条目, 从eth0接口发出去, 发往192.168.10.1路由器 。由192.168.10.1路由器根据它的路由表决定下一跳地址 。
3.数据链路层 3.1以太网
“以太网” 不是一种具体的网络, 而是一种技术标准 。既包含了数据链路层的内容, 也包含了一些物理层的
内容 。例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等 。
例如以太网中的网线必须使用双绞线 。传输速率有10M, 100M, 1000M等 。
以太网是当前应用最广泛的局域网技术 。和以太网并列的还有令牌环网, 无线LAN等 。
3.1以太网帧格式
FCS用于判断接收帧的网卡或接口是否发生了错误 。
目的地址和源地址指的都是MAC地址 。
MTU
MTU对UDP协议的影响
一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)), 那么就会在网络层分成多个IP数据报 。这多个IP数据报有任意一个丢失, 都会引起接收端网络层重组失败. 那么这就意味着, 如果UDP数据报在网络层被分片, 整个数据被丢失的概率就大大增加了 。
MTU对于TCP协议的影响
TCP的一个数据报也不能无限大, 还是受制于MTU 。TCP的单个数据报的最大消息长度, 称为MSS(MaxSize) 。
TCP在建立连接的过程中, 通信双方会进行MSS协商 。
最理想的情况下, MSS的值正好是在IP不会被分片处理的最大长度(这个长度仍然是受制于数据链路层的MTU) 。
双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值,然后双方得知对方的MSS值之后, 选择较小的作为最终MSS,MSS的值就是在TCP首部的40字节变长选项中(kind=2) 。
MSS与MTU的关系
4.ARP协议
ARP不是一个单纯的数据链路层的协议, 而是一个介于数据链路层和网络层之间的协议 。
4.1ARP协议的作用
ARP协议建立了主机IP地址和MAC地址的映射关系 。
在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址(MAC) 。
数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址(MAC)与本机不符,则直接丢
弃 。
因此在通讯前必须获得目的主机的硬件地址(MAC) 。
4.2ARP协议的工作流程 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的MAC地址是多少”并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播) 。目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的MAC地址填写在应答包中 。每台主机都维护一个ARP缓存表,可以用arp -a命令查看 。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的MAC地址 4.3ARP数据报的格式
5.DNS
DNS( Name )是一整套从域名映射到IP的系统 。
TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序,但是IP地址不方便记忆 。于是人们发明了一种叫主机名的东西, 是一个字符串, 并且使用hosts文件来描述主机名和IP地址的关系 。
例如:
host-a 172.123.3.3
host-b 192.31.41.4
域名
主域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称 。
例如我们非常熟悉的
www.baidu.com