IPTCPUDP 个人理解

Posted 会移动的猪仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IPTCPUDP 个人理解相关的知识,希望对你有一定的参考价值。

每一块网卡都有世界上独一无二的mac地址
IP协议可以确保每台机器都能分配到一个IP,并且能被确认哪些IP是在一个局域网内的
端口用于确认机器上的一个联网的应用程序
 
arp协议:
主机在发送请求寻找其他主机,请求中含有IP地址,交换机将请求包广播后,有一台符合IP地址的主机确认是自己的IP,返回一个mac地址,交换机再将mac地址返回给发送请求的主机
 
子网掩码:
子网掩码的作用是为了确定主机是否在同一个局域网内,假设子网掩码为255.255.255.0
则二进制为 11111111.11111111.11111111.00000000
此时有一个IP地址为192.168.1.1
对应的二进制为 11000000.10101000.00000001.000000001
两者进行与运算,得到 11000000.10101000.00000001.00000000 # 网段
若有另一主机同样得到相同的网段,则两者在同一个局域网内
 
TCP:
传输控制协议,TCP协议可以保证数据内容不会丢失,是安全可靠的,但会有黏包现象
三次握手:
client端向server端发送请求连接
server端发回确认包并发回了相同请求连接
client端发挥确认包
 
三次握手后,两端保持通讯状态,这个状态叫全双工
 
四次握手:
client端发出连接释放报文,并停止发送数据
server端收到连接释放报文,发出确认报文,此时TCP服务器通知应用进程,客户端向服务器的连接释放了,client端收到确认请求,等待server端发送连接释放报文,其间可能还继续收到server端未发完的一些数据
server端发送连接释放报文,其间仍可能发送一些数据
client端收到连接释放报文,并发送确认报文。注意此时TCP连接还没有释放,必须经过2∗∗MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。
server端收到了client端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。
 
可以看到,服务器结束TCP连接的时间要比客户端早一些。
 
为什么建立三次握手,断开要四次握手?
只有等到Server端所有的报文都发送完了,我才能发送连接释放报文,不能一起发送。
 
UDP:
用户数据报协议,传输数据之前,client端和server端不建立连接,当他想传送时就简单地去抓取来自应用程序的数据,把数据扔到网络上,不保证数据能到达目的地,但传输数据报前不用建立连接,且没有超时重发等机制,故而传输速度很快,但会出现丢包。从理论上来说,UDP数据的总长度为 65535(IP最大长度)-20(IP头)-8(UDP头) = 65507个字节。
 
TCP/IP五层常见物理设备:
 
应用层:各种应用的消息
传输层:四层交换机、四层的路由器等,包装传输协议,FTP,UDP, TCP
网络层:路由器、三层交换机等,包装ip协议
数据链路层:网桥、以太网交换机、网卡等,包装mac地址
物理层:中继器、集线器,双绞线
 
每个协议都有固定的字节数

以上是关于IPTCPUDP 个人理解的主要内容,如果未能解决你的问题,请参考以下文章

js原型和原型链个人理解(我的理解)

对结对编程的个人理解:

对于框架的一些个人理解

Volatile个人理解

关于SVM数学细节逻辑的个人理解 :SMO算法理解

scrapy爬虫框架之理解篇(个人理解)