计算机网络——传输层重要协议(TCP、UDP)

一、常见名词解释

IP地址:IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址,即IP地址用于定位主机的网络地址;

IP地址是一个32位的二进制数,通常被分割为4个 8位⼆进制数(也就是4个字节),通常用 "点分十进制" 的方式来表,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数) 如:100.4.5.6;

端口号:在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。 简单说:端口号用于定位主机中的进程;

协议:在网络上传输的数据包的格式;

OSI 七层模型:

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;

TCP/IP 五层网络模型:

  1. 物理层:描述的是网络通信的硬件设备,集线器(Hub)工作在物理层;
  2. 数据链路层:负责设备之间的数据帧的传送和识别,交换机(Switch)工作在数据链路层;
  3. 网络层:负责地址管理和路由选择,路由器(Router)工作在网路层,IP 协议是在网络层;
  4. 传输层:负责两台主机之间的数据传输,TCP,UDP 协议是传输层的协议;
  5. 应用层:负责应用程序间沟通;对应 OSI 中的 会话层、表示层、应用层;

服务端:在常见的网络数据传输场景下,把提供服务的一方进程称为服务端,可以提供对外服务;

客户端:获取服务的一方进程,称为客户端 ;

二、TCP 和 UDP 的区别(*)

  1. TCP 是有连接的,UDP 是无连接的;
  2. TCP 是可靠传输,UDP 是不可靠传输;
  3. TCP 是面向字节流的,UDP 是面向数据报的;
  4. TCP 和 UDP 都是全双工的;

三、UDP 协议(User Datagram Protocol)

端口号(Port) 标识了⼀个主机上进行通信的不同的应用程序,0 - 1023: 知名端口号,HTTP(80),FTP(21),SSH(22),HTTPS(443) 等这些广为使用的应用层协议,他们的端口号都是固定的,当我们自己写一个程序使用端口号时,要避开这些知名端口号;

UDP 数据报格式 

 

报头:源端口号,目的端口号,UDP 报文长度,UDP 校验和,四部分每部分 2 个字节;

UDP 采用 CRC 循环冗余算法计算校验和(本质是字符串,由原始数据生成),如果校验和出错,就会直接丢弃当前数据报;

UDP 报文长度也占两个字节 0 ~ 65535,也就是说一个 UDP 数据报能传输的数据最大长度是 64K (包含 UDP 首部),如果我们需要传输的数据超过 64K,就需要在应用层手动的分包,多次发送,并在接收端手动拼装;

计算校验和的其他算法(了解):MD5 算法,特点

  1. 定长:无论输入的消息有多长,MD5 总是生成一个固定长度为128位(16字节)的哈希值;
  2. 分散:哪怕只有一个字符不同,算出的 MD5 值的差异都会很大;
  3. 不可逆:MD5 算法是不可逆的,意味着不能从哈希值逆推出原始输入。这种特性使得它适合于密码存储等应用

基于 UDP 的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rcnhtin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值