计算机网络-传输层

96 阅读2分钟

传输层的作用

1. 两台主机内的应用进程间的数据交换

  • 提供不同主机间应用进程到进程之间的逻辑通信

2. 提供基本的数据差错校验

3. 提供可靠的数据连接服务

  • 在发送数据前,传输层先与要发送的主机建立一条虚拟的连接通道。

4. 提供流量控制功能

5. 提供拥塞控制功能

传输层的位置

  • 应用层:跨主机的数据传输要求,需要可靠稳定的数据传输服务。
  • 传输层:向上提供数据服务(转换数据和提供数据),对下屏蔽网络层的不稳定性(差错校验、拥塞控制),提供可靠的数据传输服务。
  • 网络层:通过相连的路由转发到达目的主机,是不稳定的传输。

测试

传输层的基本过程

传输层把应用层传递过来的数据封装成数据段,传递给网络层。网络层封装成数据分组,发送给数据链路层,数据链路层提供虚拟的传输链路,把数据封装成数据帧,发送给物理层。物理层把数据帧转换成比特流发送到物理线路上。在接收的主机中,通过相反的过程获取到发送端发送的数据,通过端口号找到对应的应用进程,把数据交给该应用进程处理。

socket的连接的连接过程或者服务器原语(以TCP类型)

image.png

    1. 服务器new socket(family)得到一个welcomesocket,其中family为协议栈的名词,如:tcp、udp等。
    1. bind(welcomsocket,ip),给welcomesocket绑定IP地址
    1. listen(welcomesocket,port),给welcomescoket绑定端口,并在welcomesocket上阻塞。
    1. 客户端new socket()创建一个socket
    1. 客户端隐式在1024以上的端口中随机一个端口号,并把4创建的socket和端口号绑定。
    1. 客户端socket调用connect(socket,&sad)发送一个请求给服务器。此时connect函数一直会进行阻塞,直到服务端发送确认连接的响应
    1. 服务器端接收到客户端的请求后,接触阻塞,并且创建一个新的socket称为connectsocket,并把客户端的ip的端口号绑定到connectsocket上。返回给客户端一个确认连接的响应。
    1. 客户端收到确认连接响应后,connect函数返回。此时开始发送数据给服务端。
    1. 服务端处理数据后返回。