计算机网络基础
大家好呀!我是小笙,本章我主要分享计算机网络基础 - 传输层(1)学习总结,希望内容对你有所帮助!!
传输层
概述
为运行在不同主机上的应用进程提供逻辑通信(有两个传输层协议可供应用选择:TCP/UDP)
传输协议运行在端系统
- 发送方:将应用层的报文分成报文段,然后传递给网络层
- 接收方:将报文段重组成报文,然后传递给应用层
运输层和网络层的关系
-
网络层服务:主机间的逻辑通信
-
传输层服务:进程间的逻辑通信
- 依赖于网络层的服务(延时、带宽)
- 并对网络层的服务进行增强(数据丢失、顺序混乱、加密)
注意:有些服务是可以加强的:可靠性、安全性;但有些服务是不可以被加强的:带宽、延迟
传输层协议
可靠的、保序的传输: TCP
- 多路复用、解复用
- 拥塞控制
- 流量控制
- 建立连接
不可靠、不保序的传输:UDP
- 多路复用、解复用
- 没有为尽力而为的 IP 服务添加更多的其它额外服务
都不提供的服务: 延时保证 、带宽保证
多路复用与解复用
概述
在发送方主机多路复用
从多个套接字接收来自多个进程的报文,根据套接字对应的 IP 地址和端口号等信息对报文段用头部加以封装
注意: 该头部信息用于以后的解复用
在接收方主机多路解复用
根据报文段的头部信息中的 IP 地址和端口号将接收到的报文段发给正确的套接字(和对应的应用进程)

解复用的工作原理
作用:TCP或者UDP实体采用哪些信息,将报文段的数据部分交给正确的socket,从而交给正确的进程
当主机收到 IP 数据报,主机联合使用IP地址和端口号将报文段发送给合适的套接字
- 每个数据报有源 IP 地址和目标 IP 地址
- 每个报文段有一个源端口号和目标端口号
- 每个数据报承载一个传输层报文段
无连接多路解复用
创建套接字
服务器端
serverSocket = socket(PF_INET,SOCK_DGRAM,0);
bind(serverSocket,