《Linux高性能服务器编程》学习笔记(一)--tcp/ip协议族

学习更多,请点击:《Linux高性能服务器编程》学习笔记:目录索引


TCP/IP协议族

图解

这里写图片描述


封装

图解

这里写图片描述

分用

图解

这里写图片描述

以太网帧格式

图解

这里写图片描述


ARP协议结构详解

图解

这里写图片描述

ARP框架整理

图解

这里写图片描述
注:需要该.xmind文件,可自行下载ARP框架图.xmind


DNS工作原理

①输入域名后,现在本机对应的域名服务器中查找
②域名服务器先查找自己的数据库中的数据,如果没有,就向上挤域名服务器查找,依次类推
③最多向上查找到根域名服务器,肯定能找到这个域名对应的IP地址
④域名服务器也有缓存机制,把曾经访问过的域名和对应的IP地址缓存起来,可以加速查找过程


NAT和NAPT

NAT的作用和原理

作用:
解决IP不够用的方式之一,帮助局域网中的主机能访问公网服务器
原理:
A局域网中的主机a,想访问公网服务器,因为a在自己的局域网中的IP地址都是私有IP,不可以直接访问公网,因此主机a通过NAT路由器(该路由器中有一张自动生成转换表)将自己的私有IP地址换成NAT路由器的公网IP,从而访问公网服务器

NAPT的作用和原理

值得思考的问题:
局域网中的主机访问公网,将私有IP转换成公网IP,这个过程很容易,那么公网服务器的应答数据如何正确返回给对应的局域网路由器呢?因为不同局域网的路由器的私有可以相同(通常都是1号),公网服务器该如何正确找到“发送请求的主机”所在的局域网的路由器呢?
作用:
使得公网服务器返回的应答数据能正确找到对应的局域网路由器
原理:
使用IP+PORT机制,NAT路由器中转换表维护着这种关联关系,如下:
私有IP1+PORT1 -> 公网IP+PORT1
私有IP2+PORT1 -> 公网IP+PORT2
私有IP3+PORT1 -> 公网IP+PORT3

NAT技术的缺陷

①如果主机从未访问过公网服务器,那么服务器无法知道该主机的MAC地址
②转换表的生成和销毁都要额外的开销
③通信中一旦NAT设备异常,即使存在热备,所有的TCP连接也会断开

猜你喜欢

转载自blog.csdn.net/w_y_x_y/article/details/81050958