(7)TCP与UDP

TCP与UDP

TCP/IP经典五层结构

  • 分层结构
    特点:上层依赖下层的服务实现其功能
应用层
传输层:TCP/IP协议
网络层:IP协议
数据链路层
物理层

应用层: 各个应用程序可以定义或使用各种各样的协议;
传输层: 确保发出的数据能够到达目标主机,完成数据传输;
网络层: 填写数据包地址,选择数据传递路径;
数据链路层: 融合不同连接方式的链路,屏蔽网络差异;
物理层: 具体连接方式->有线、无线、光纤;

TCP/IP层次结构的特点

  • 工作方式:

发送方:

应用层:编码后发送字符串数据
传输层:将数据分包,加上标识头/序号等通用信息
网络层:加上收发地址信息,选择最佳传输路径
数据链路层:将数据封装并转换为二进制序列
物理层:将二进制序列转换为物理信号传输,如:电信号和光信号

接收方:

物理层:接收物理信号,转换为二进制形式
数据链路层:组装二进制数据,恢复原始网络层数据形式
网络层:解析二进制数据,回复原始传输层数据形式
传输层:根据附加信息进行数据组包,恢复原始应用层数据形态
应用层:收到字符串数据,需要根据约定解码
  • 层次结构的特点:
    – 上层依赖邻接下层的能力,下层只为直接邻接上层服务;
    – 上层不知道下层的工作机制,下层不管上层传输的数据内容;
    – 不做跨层服务,层次结构间的角色缺一不可;

IP地址和MAC地址

  • 深入理解网络层(IP层):
    IP寻址: IP地址属于网络层地址,用于标识网络上的主机;
    路由控制: 控制数据如何到达目标主机(如:需要经过那些路由器转发);
    无连接: 数据包根据IP地址在网络上传递(无需与目标实际建立连接);
    关于MAC地址:MAC地址是数据链路层所使用的硬件地址, MAC地址与网络无关,出厂时由厂家写入到网络设备中。每当主机从网络上收到一个数据帧时,首先检查数据帧中的MAC地址。如果是发往本主机的数据帧则收下,之后进行其他的处理,否则就将此帧丢弃,不再进行其他的处理;
  • IP地址和MAC地址:
    – IP地址是动态的,不特定于某个具体的硬件(MAC地址隶属于具体的硬件);
    – IP地址是网络层使用的地址(用于跨网络投递数据包);
    MAC地址是数据链路层使用的地址(用于确定目标网络中接收数据的主机);
    – 路由器中记录了本网络中主机IP地址与MAC地址的映射关系;

网络数据的转发过程

  • IP路由控制:
    – 为了将数据发给目标主机,所有主机都维护一张路由表;
    – 路由表记录了IP数据包下一步应该发给哪个路由;
  • IP数据转发:
    IP数据包转发才有的“尽力服务”策略:(1)“尽力服务”指“会努力,但不保证结果”;(2)转发时会通过附加信息检查数据的合法性,但出现异常不会进行重发;(3)以包为单位进行转发,不保证送达(发出之后可能石沉大海);

TCP连接的建立与断开

  • 传输控制协议(Transmission Control Protocol):TCP在协议实现上提供可靠数据传输:
    – TCP不存在“数据包”的概念,实现了流式传输(数据如流水,无头无尾);
    – TCP内部有服务状态,能够精确知道数据是否已经发送成功,是否被接收;
    – TCP在行为上可进行阻塞控制(网络环境变差时,能够调整数据发送速度);
  • TCP天生的缺陷(DDos攻击):
    – 客服端收到SYN、ACK之后,不再回复最后的ACK消息;
    – 这将导致服务端消耗资源,但不会进行实际的通信;
    – 当多个傀儡客户端同时对服务端进行“连接请求”,服务端资源将耗尽;

UDP特点

  • UDP的特点:完全继承网络层工作方式
    – 无需连接,直接指定IP地址和端口即可发送数据;
    – 监听固定端口,只要有数据,通通接收;
    – 不管网络情况,只要是数据通通皆可发送;
    – 不关心数据是否到达对端;
  • UDP的使用场合:
    – 对数据不敏感,需要实时性的场合(如:直播,实时游戏);
    – 网络环境比较好的场合(如:物联网家居);
    – 需要深度定制协议的场合(如:“不丢包的”UDP协议);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值