linux udp传输收不到_Linux网络编程——网络基础

OSI参考模型与TCP/IP参考模型

e35a84bb38d3814fe129716319fba07b.png
  • 物理层:指的是电信号的传递方式,比如现在以太网通用的网线
  • 链路层:负责网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。
  • 网络层:负责点到点的传输(这里的“点”指主机或路由器),Internet上的主机通过IP地址来标识,IP协议是构成Internet的基础。
  • 传输层:负责端到端的传输(这里的“端”指源主机和目的主机)。传输层可选择TCP或UDP协议。
  • 会话层: 解决传输层有一个发送方多个接收方时确定发给谁的问题
  • 表示层:解决会话层仅仅是文字的交互,提供多种数据格式的显示功能(编码)
  • 应用层:将表示层封装,提供用户接口

什么是协议?

  • 双方“约定”好的,按照一定格式传输固定数据

数据包封装

  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装
  • 不同的协议层对数据包有不同的称谓,在传输层叫做段,在网络层叫做数据包,在链路层叫做帧

6ee8b19c1a4e2f171992b800081d765b.png

TCP/IP协议族

大致可分为三部分

  • internet协议(IP)
  • 传输控制协议(TCP)和用户数据报协议(UDP)
  • TCP/UDP之上的一组协议,专门开发应用程序,如http、smtp、dns、rtp

30f4af054ce98fa2d1b1135225eb251e.png

传输层协议-TCP

  • 传输控制协议(TCP),一种可靠的面向连接的传输层服务、
  • 三次握手”:类似生活中打电话。

811462c4f341b4a50f19a77dbc289950.png

简单理解:
客户端:我要对你讲话,你能听到吗;
服务端:我能听到;而且我也要对你讲话,你能听到吗;
客户端:我也能听到。
…….
互相开始通话
………

  • 四次挥手”:

5881e48402070297c307c01d298be935.png

简单理解:
客户端:我说完了,我要闭嘴了;
服务端:我收到请求,我要闭耳朵了;
(客户端收到这个确认,于是安心地闭嘴了。)
…….
服务端还没倾诉完自己的故事,于是继续唠唠叨叨向客户端说了半天,直到说完为止
…….
服务端:我说完了,我也要闭嘴了;
客户端:我收到请求,我要闭耳朵了;(事实上,客户端为了保证这个确认包成功送达,等待了两个最大报文生命周期后,才闭上耳朵。)
(服务端收到这个确认,于是安心地闭嘴了。)

传输层协议-UDP

  • 用户数据报文协议(UDP),UDP 提供不可靠的非连接型传输层服务。
  • 使用UDP时,不需要建立连接,也不跟踪这些参数,开销小,空间和时间上都具有优势。只需要知道对方的IP地址和端口号,就可以直接发送数据包。但是,能不能到达就不知道了。不可靠,但是传输速度快
    简单理解:
    类似生活中邮箱,把信件扔到邮箱中,至于有没有人去看它,没有人在乎。

TCP/IP通讯过程

76c9da15506c929781ed3aea4192ef0a.png

文末给大家分享c/c++ Linux服务器高阶知识视频资料的朋友请加qun720209036获取

知识点有C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值