三 传输层
多路复用与多路分解 一个UDP套接字是由一个二元组全面标识的,该二元组包含一个目的IP地址和一个目的端口号。
而一个TCP套接字是由四元组标识的。
UDP首部的格式如下:
32bit 一共8个字节
源端口号(2字节) | 目的端口号 |
长度 | 检验和 |
回退N步,如果某个报文段没有被接收,那么从这个报文段到后面的报文段都要重新发送,采用累积确认的方式——如果GBN返回的ACK=3,也就是说3报文段和3之前的报文段都被正确地接收了。
SR协议
对于SR协议,窗口长度必须小于或者等于序号空间大小的一半。
接收方设置缓冲区,为每个报文段设置计时器。如果某个报文段没有被正确接收但是后面的报文段被正确接收了,那么就只需要重发这一个报文段,在接收方整理排序之后即可。
TCP和SR类似,但是TCP有快速重传机制,不需要等待某个报文段的计时器超时再重传,返回的ACK编号是期待接收的下一个报文段的序号。
TCP协议
拥塞控制原理
TCP拥塞控制
六 局域网 地址解析协议 —— ARP 在发送主机中的ARP模块将取在相同局域网上的任何IP地址作为输入,返回相应的MAC地址。
注意:DNS将为因特网中任何地方的主机解析为主机名,而ARP只为在同一个子网上的主机和路由器接口IP地址。
当arp表中中没有目的地址的表项时,发送方构造一个称为ARP分组的特殊分组,ARP查询分组会询问子网上所有其它主机和路由器。
注意:查询ARP是在广播帧中发送的,而响应ARP报文在一个标准帧中发送.
如何发送数据报到子网以外?
例子:一个路由器有两个接口
子网1 IP 111.111.111.110 MAC1
子网2 IP 222.222.222.220 MAC2
现在子网1上的一台主机将向子网2上的一台主机发送数据报,111.111.111.111 —> 222.222.222.222
发送主机指示的MAC地址是什么? 是通往最终目的地路径上的第一跳路由器的IP地址。
在数据报发送过程中,源IP和目的IP始终不变,MAC地址会不断变化。
Web页面请求的历程 DHCP UDP IP 和 以太网
首先要运行DHCP协议,以从本地DHCP服务器获得一个IP地址以及其他信息。
1.操作系统生成一个DHCP报文,目的端口67(DHCP服务器) 源端口68(DHCP客户端)的UDP报文段。
该UDP报文则被放在一个具有广播目的地址(255.255.255.255)和源IP地址(0.0.0.0)的IP数据报中。
2.该IP数据报被放置在以太网中,目的MAC地址(FF:FF:FF:FF:FF:FF),使该帧广播到与交换机相连的所有设备中。
3.以太网交换机广播,在所有出端口入帧,包括连接到路由器的端口。
4.路由器接收到该广播帧,被分解成IP数据包,在分解成UDP报文段向上到达UDP。DHCP服务器有了DHCP请求报文。
5.DHCP服务器分配IP地址 DNS服务器IP地址 默认网关路由器的IP地址 子网掩码。
6.包含DHCP ACK的以太网帧由路由器发送给交换机,交换机是自学习的,知道该帧应该传给哪台机器。
7.得到IP地址,还会在其IP转发表中安装默认网关的地址,将向默认网关发送除了子网以外的所有数据报。
DNS和ARP
现在需要知道www.baidu.com的ip地址
1.需要生成一个DNS查询报文 目的IP是DHCP服务器返回的DNS服务器地址,要发送到网关路由器
2.现在知道了网关路由器的IP地址,但不知道其MAC地址 需要使用ARP协议
3.生成一个ARP查询报文,放在有广播目的地址的以太网帧中,交换级叫帧转发给所有路由器,包括网关路由器。
4.网关路由器返回ARP回答,将ARP回答放在一个以太网帧中,由交换机再发送回来。
5.现在,我们得到了网关路由器的MAC地址 向网关路由器发送DNS查询报文
域间路由选择到DNS服务器
BGP协议
TCP与HTTP
【笔记|计算机网络自顶向下 —— 阅读笔记】三次握手的内容
TCP状态转移的内容
路由选择的知识
推荐阅读
- 计算机网络|TCP的报文详细解读
- 网络知识学习|从0开始的网络学习——IP、DNS、服务器
- 杂项|硬件工程师应具备的基础知识
- Linux从系统到网络|HTTP协议
- Linux从系统到网络|socket(套接字)实现udp通信
- CGB2010 第四阶段 day01和02
- 笔记|CGB2111SpingBoot第三天
- p2p|JAVA学习(语言基础第一天)
- 分类|LeNet网络模型——CIFAR-10数据集进行分类