网络编程(二)

TCP/IP中的数据包

每个分层中,都会对发送的数据附加一个首部,首部中包含了必要的信息,如目标地址和协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。
网络中传输的数据包由两部分组成,一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。

  1. 应用程序处理
    首先应用程序会进行编码处理,这些编码相当于OSI的表示层功能;编码转化后,邮件不一定马上会被发送出去,这种何时建立通信连接何时发送数据的管理功能,相当于OSI的会话层功能。

  2. TCP模块的处理
    TCP根据应用的指示,负责建立连接,发送数据以及断开连接。TCP提供将应用层发送来的数据顺利发送至可靠的传输。为了实现这一功能,需要在应用层数据前端附加一个TCP首部。

  3. IP模型的处理
    IP模块将TCP传过来的TCP首部和TCP数据合并起来当作自己的数据,并在TCP首部的前端加上自己的IP首部。IP包生成后,参考路由控制表决定接受此IP包的路由或主机。

  4. 网络接口的处理
    从IP传过来的IP包对于以太网来说就是数据。给这些数据附加上以太网首部并进行发送处理,生成的以太网数据包将通过物理层传输给接收端。

  5. 接收端网络接口的处理
    主机收到以太网的包后,首先从以太网包首部找到MAC地址判断是否发送给自己的包,若不是则丢弃数据。如果是的化,则从以太网首部中的类型确定数据类型,再传给相应的模块,如IP,ARP等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值