TCP/IP四层模型深入理解

来源:互联网 发布:it helpdesk 工作内容 编辑:程序博客网 时间:2024/06/01 09:14

TCP/IP四层模型的补充学习

  • 四层模型从用户态程序/内核态程序上的划分
  • 链路层的另一种协议PPP(和以太网协议对比)

四层模型从用户态程序/内核态程序上的划分

TCP/IP协议四层模型:
应用层——–用户态程序,我的理解是socket编程对应的动作。套接字sockfd会包含目的IP地址和目的端口号、源IP地址和源端口号,write()函数和read()函数的参数包含sockfd和发送或接收的数据。
传输层——–内核态程序,即从传输层到链路层部分的工作由操作系统完成。操作系统从write()函数中获取到目的端口号和源端口号这部分信息,即可将用户的数据封装成数据报,发送到下一层–网络层。
网络层——–内核态程序,由操作系统完成。IP层收到传输层发送来的TCP数据报,将write函数中sockfd套接字中的目的IP地址和源IP地址添加到TCP数据报段首,封装得到IP段,发送到下一层–链路层。
链路层——–内核态程序,由操作系统完成。链路层根据IP段首的目的IP地址,首先从本地的ARP高速缓存中查找对应的MAC地址,如果ARP高速缓存中存在对应的MAC地址,就将目的MAC地址和源MAC地址作为以太网帧头添加到IP段首,再添加相应的以太网帧尾,形成以太网帧。然后经过物理层的协议,再发送到传输媒介上。

链路层的另一种协议PPP(和以太网协议对比)

链路层处于TCP/IP模型的最底层,除了常用的以太网协议(Ethernet)还有一种PPP协议。
以太网协议—-用于广播网络,以太网帧结构中有目的MAC地址,确认多信道中目标端机器
PPP协议—用于点对点网络,PPP协议在IP数据段的首尾添加一对帧定界符(soh和eot),不需要目的MAC地址,点对点链路两端主机事先已经知道另一端的IP地址了。

以太网帧采用的是曼彻斯特编码,即0->1的跳变沿表示1,1->0的跳变沿表示0。每一个码元的正中间都会有一次电压的跳变。

原创粉丝点击