目录标题
OSI 7层参考模型(开放式系统互联参考模式)
应用层 抽象语言–>编码
表示层 编码–>二进制
会话层 提供应用程序地址 —无标准
上三层是应用程序加工数据的部分
传输层 数据分段(受MTU限制),提供端口号 TCP UDP
网络层 internat 协议 --ip 提供IP地址,逻辑(临时)寻址
数据链路层(全称介质访问控制) --控制物理层
(在以太网中2层===逻辑链路控制层LLC+介质访问控制MAC 提供了MAC地址进行物理寻址)
物理层
下四层是数据流程,负责数据传输
注:表示以下都是二进制
MTU:最大传输单元
端口号:16为二进制 0-65535 其中1-1023注明端口 静态端口;1024-65535 动态端口(高端口)
终端与服务器间通讯时,使用随机的高端口对应本地进程号;使用注明的静态端口标记具体访问的服务器服务。
端口号的核心作用在于本地设备的进程与服务端具体的服务。
UDP:用户数据报文协议
非面向连接的不可靠传输协议 — 仅完成传输层的基本工作(分段、提供端口号)
源端口、目的端口、长度、校验和
TCP:传输控制协议
面向连接的可靠传输协议 — 在完成了传输的基本工作上,还需要额外保障传输的可靠性;
面向连接是通过TCP三次握手来建立端到端的虚链路
TCP三次握手
第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端;
第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了;
第3次握手:客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。
其中:SYN标志位数置1,表示建立TCP连接;ACK标志表示验证字段。
可靠传输 — 4中可靠传输
- 确认
- 排序(滑动窗口)
- 流控
- 重传
源端口号、目的端口号、序列号、确认号、保留字段(标记位)、窗口大小、TCP校验和、紧急指针。
注:UDP可以单播、组播、广播;但TCP只能单播通讯
常见端口号和服务
名词注解:
1.OSI与TCP/IP区别
- 层数不同 OSI 7层 TCP/IP 可以是4层也可以是5层(有些人的叫法不同)
- TCP/IP的网络层仅支持IP,OSI支持所有
- TCP/IP支持跨层封装
正常用户的应用程序通讯数据,不做跨层;
同一广播域间的设备间的使用:如路由器这种3层设备直连间使用跨封装到3层协议;
同一个交换网络内的2层键可以跨层到2层;优点在于可以节省设备的封装与解封装效率;
仅ICMP可以用于远距离传输;
当数据包跨层封装到3层时,IPV4报头可以将数据进行分片,来实现类似4层的分段功能;
使用协议号类标记应用层的具体内容;协议号 0-255,其中6代表TCP,17代表UDP;其他编号用于各种跨层封装协议–类似4层的端口号来区分进程;
当跨封装到2层时,以以太网为例:
在没有跨层封装到2层时,以太网将使用第二代数据报头,数据链路层为一层,不能进行数据分片;
跨层封装到2层时,以太网将使用第一代数据报头,数据链路层分为LLC(802.2)+MAC(802.3);LLC负责分片和使用类型号代替协议号,MAC进行正常的介质控制;
2.ARP 地址解析协议
正向:已知对端的IP地址,通过二层的广播,获取对端的mac;
反向:已知本端的MAC地址,通过本端的MAC获取本端的ip;
无故:在刚获取ip地址,已经使用ip时,向外主动进行正向ARP,但被请求的ip地址为本地ip地址;用于IP地址冲突检测;
3.DNS 域名解析服务
通过域名查询对应的IP地址
4.封装
数据从高层向低层加工处理的一个过程;过程中数据包将不断变大;
5.解封装
数据从低层向高层的一个读取、识别过程,过程中数据将不断变小;