传输层与socket基本操作
传输层与socket基本操作
1. 网络层提供点到点通信,负责对数据包进行路由选择和存储转发,网络层数据的单位称为分组或者数据包。
2. 物理层的设备:中继器,集线器;数据链路层的设备:网桥或者交换机;网络层:路由器;网络层以上的中继系统:网关。
3. MAC地址由48位二进制数组成,0~23(前6位十六进制)由IETF负责分配
4. TCP/IP模型的网络组,将分组发往任何网络,并为之独立选择合适的路由,不保证各个分组的有序到达,网络层定义了分组格式和协议(IP地址)
5. DNS通常基于UDP协议
6. UDP具有对系统资源要求较少,实时性好,网络开销小的优点。当某个程序的目标是尽快的传输尽可能多的信息时,可考虑使用UDP
7. TCP连接的建立和终止
服务端先调用socket函数(返回一个套接字),然后套接字与地址、端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。如果此时有个客户端调用了socket函数(返回一个套接字),然后连接服务器(connect),如果连接成功,客户端发送数据请求,服务端接受并处理,然后把相应数据发给客户端,客户端读取数据,关闭连接,一次交互结束。
9.三次握手建立连接
1. 客户端向服务端发送一个SYN J
2. 服务器向客户端响应一个SYN K,并对SYN J进行确认ACK J+!
3. 客户端再向服务器发送一个ACK K+1
10.四次挥手释放连接
4. 是由TCP的半关闭造成的,既然一个TCP连接是全双工(数据在两个方向上能同时传递),因此每个方向必须单独地进行关闭。
5. TCP和UDP具有多路复用功能,与此相关的协议头字段是源端口号和目的端口号。传输层位于网络层之上,它为运行在不同主机上的进程之间提供了逻辑通信(利用端口号),而网络层提供了主机之间的逻辑通信。(利用IP地址)
6. TIME_WAIT状态也称为2MSL状态
7. 在已经成功建立连接的TCP连接上,如果一端收到RST消息可以让TCP的连接端绕过半关闭状态并允许丢失数据
8. 对于一个established状态的TCP连接,调用shutdown函数可以使主动调用的一方进入半关闭状态。
9. TCP为每条连接总共建立了七个定时器:连接建立定时器,重传定时器,延迟ACK定时器,持续定时器,保活定时器,FIN_WAIT_2定时器,TIME_WAIT定时器
浏览次数:3722 发布时间:2020/8/19