网络原理之封装和分用,网络编程套接字

目录

封装和分用:

数据组织过程

封装

分用

网络编程套接字

tcp和udp之间的区别

udp的socket 客户端-服务器


要想了解封装先了解数据的组织过程:

数据组织过程

1.假设主机a给b发送hello,经过应用层先根据应用层协议,将他转换成约定的字符串(应用层协议报文),接下来交给传输层(经过操作系统内核调用系统api,socket).

2.典型的传输层协议:tcp协议,tcp报头包含源端口,目的端口,传输层除了报头部分(加工)剩余就是载荷部分

3.典型的网络层协议:ip协议,主要要源ip,目的ip

4.数据链路层协议典型就是以太网(以太最初其实表示介质,既包含链路又包含物理层),帧头包含源mac地址,目的mac地址,帧尾主要是校验和

5.经过物理层设备(网卡)将上述数据变换成bit流,转换成光信号/电信号传输

封装

上述数据从上到下,层层添加信息的过程,就成为封装(包快递)

分用

分用就是封装的逆过程(拆快递)

6.物理层:

接收方的网卡这样的硬件将信号转换成二进制bit数据,由以太网协议负责解析,交给数据链路层

7.数据链路层

由以太网协议,去掉帧头和帧尾,取出载荷部分,把取出的载荷交给网络层

8.网络层:

由ip协议去掉ip报头得到载荷部分,载荷部分交给传输层

9.传输层:

tcp协议去掉tcp报头,载荷部分交给应用层

10.应用层:

应用层解析取出里面信息显示在界面上

网络编程套接字

就是研究如何写代码完成网络编程

Socket套接字,操作系统给应用层提供的api(应用层和传输层之间),网络传输层中最著名的就是tcp和udp协议

tcp和udp之间的区别

 1.有连接相当于打电话的过程,双方通信建立好连接,才能交互数据,a打给b,b接听才能通话

无连接相当于发短信过程,直接一发就过去了

2.可靠传输并不是100%能收到数据,而是a能够知道b是不是收到数据

3.字节流类似于io操作,数据报是新的数据单位

4.全双工:一个通道,双向通信

udp的socket 客户端-服务器

接下文:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值