TCP和UDP

TCP/UDP

OSI/RM ---- 开放式系统互联参考模型

一、OSI七层模型:

应用层---- 数据报文:

抽象语言 ---- 编码

表示层:

编码 ---- 二进制

会话层:

提供会话号,同软件不同进程的程序在同时接收发消息时,他们会拥有相同的IP地址和MAC地址,此时就需要会话层分别给予不同的会话号去区分。

这三层都是对数据进行加工。

传输层----数据段:

TCP/UDP
功能:①分段(受到MTU限制) ②端口号

1.MTU最大传输单元,默认1500字节

分段:当数据包过大时,连续发送可能会使数据在传输途中插入别的数据造成损坏,所以需要对数据包进行分段处理,从而保证数据包的完整性

2.端口号:使用电脑可能会同时访问多个服务器,这多个服务器在进行回复的时候,回复目标都是相同IP/MAC。为了不分配错误,在该程序启动时,电脑会在 1024~65535 随机分配端口号给这个程序,在服务器回包时也会带着这个端口号,这样电脑就能做出正确的数据分配。

端口号范围:0~65535 注明端口:1~1023 高/动态端口:1024~65535

网络层----数据包:

IP互联网协议

数据链路层----数据帧:

介质访问控制层MAC + 逻辑链路控制层LLC

逻辑链路控制层LLC:对数据惊醒校验,只保障数据完整性;同时增加FCS(校验核),校验数据完整性。

物理层----比特流:

物理硬件

这四层都是对数据的运输,到达对端做出工作 。

二、TCP/IP模型

TCP/IP协议簇:

问题:1.分层不均 2.分层太多

模型区别对比:

PDU(协议数据单元):

不同层封装的数据单元标识

TTL(生存周期):

最大为255 推荐64 常见128

以太网Ⅱ型帧:

1.封装

2.解封装

三、应用层协议

总括:

层数(1~7)协议
物理层RJ45、CLOCK、IEEE802.3
数据链路层PPP、FR、HDLC、VLAN、MAC、ATM、FDDI、CSMA/CD
网络层IPICMPARPRARP、OSPF、IPX、RIP、IGRP、BGP、EIGRP
传输层TCPUDP、SPX、TLS、RTP、SCTP、ATP
会话层NFS、SQL、NETBIOS、RPC、ASP、Winsock、BSD sockets
表示层JPEG、MPEG、ASII、XDR、ASN.1、NCP
应用层FTPDNSTelnet、SMTP、POP3、HTTPHTTPS、WWW、NFS、SNMP、TFTP、SIP、SSH、RTSP、XMPP、WHOIS、DHCP

HTTP(超文本传输协议)

传输:TCP 端口:80

HTTPS(安全传输协议)

(HTTP+SSL(TLC))

传输:TCP 端口:443

FTP(文件传输协议)

传输:TCP 端口:20/21

TFTP(简单文件传输协议)

传输:UDP 端口:69

Telnet(远程登录标准协议)

传输:TCP 端口:23

SSH(安全外壳协议)

传输:TCP 端口:22

DNS(域名解析协议)

传输:UDP/TCP 端口:53

DHCP(动态主机配置协议)

传输:UDP 端口:67/68

四、两个传输层协议

1.TCP(传输控制协议)

---- 面向连接的可靠协议

在完成了传输层基本工作的同时,还需要保证传输的可靠性

面向连接
---- 三次握手 四次挥手 建立端到端的虚链路
三次握手

SYN:发起一次连接,并告知自身状态

ACK:标识确认

1)发送syn包 客户端进程进入 SYN-SENT 同步已发送状态

2)ack+syn 客户端进程进入 SYN-SENT 同步已发送状态

3)ack确认 客户端进入ESTABLISHED已建立连接状态

第一次握手:TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文。

客户端向服务器端发送报文(syn)

证明客户端的发送能力正常。

第二次握手:TCP服务器收到请求报文后,如果同意连接,则会向客户端发出确认报文。

服务器端接收到报文(syn)并向客户端发送报文(ack)

证明服务器端的接收能力、发送能力正常

第三次握手:TCP客户端收到确认后,还要向服务器给出确认。

客户端向服务器发送报文(ack)

证明客户端的接收能力正常

特殊情况:
  1. RST重连

  2. TCP严重错误并重连

  3. FIN断开

  4. PSH紧急加收

  5. URG紧急指针

传输途中

四次挥手

第一次挥手:客户端发出连接(fin)释放报文,并且停止发送数据。释放数据报文首部,FIN=1,

客户端进入FIN-WAIT-1(终止等待1)状态

第二次挥手:服务器端接收到连接释放报文(fin)后,发出确认报文(ack),ACK=1,ack=u+1,并且带上自己的序列号seq=v,

服务端进入CLOSE-WAIT 关闭等待状态

第三次挥手:客户端接收到服务器端的确认请求后,客户端就会进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(fin),服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,

服务器就进入LAST-ACK(最后确认)状态,等待客户端的确认

第四次挥手:客户端收到服务器的连接释放报文后(fin),必须发出确认,此时,客户端进入了TIME-WAIT(时间等待)状态,但此时TCP连接还未终止,必须要经过2MSL后(最长报文寿命),当客户端撤销相应的TCB后,客户端才会进入CLOSED关闭状态。

服务器端接收到确认报文后(ack),会立即进入CLOSED关闭状态,到这里TCP连接断开,四次挥手完成。

可靠性
----4种可靠性机制 ---> 确认/排序/重传/流控

2.UDP(用户数据报文协议)

----非面向连接的不可靠协议

仅完成传输的基本工作 ---- 分段 端口号

3.TCP与UDP的区别

TCPUDP
面向连接无连接
速度慢速度快
可靠传输不可靠传输
20字节头8字节头

五、IP的包头

TCP的分段和IP的分片

IP分片的原因:

受到二层/数据链路层MTU的限制,最大传输单元不能超过1500字节

数据达到网络层大于MTU则会分片,为了提高传输效率减少分片,TCP在装载数据时如果能做到封装后的数据不引起三层/网络层分片则是一种最佳选择,MSS值的目的就是基于双方的 MTU 协商出一个最大传输承载长度

标准三次握手包:

六、操纵网络设备

配置网关IP地址:

 #尖括号代表用户视图,仅具有查询权限,不能进行配置操作;Huawei 代表用户名
 <Huawei>
 #查看每个接口的IP配置情况
 <Huawei>display ip interface brief

 #进入系统视图,尖括号变为方括号
 <Huawei>system-view
 #系统视图 
 [Huawei]
 #更改设备名称为 Cloudyfly
 [Huawei]sysname Cloudyfly  
 #进入0/0/0 接口
 [Cloudyfly]interface g 0/0/0 
 等同于
 [Cloudyfly]interface GigabitEthernet 0/0/0
 #返回上一层 quit/q
 [Cloudyfly-GigabitEthernet0/0/0]quit  
 #查看IP
 [Cloudyfly-GigabitEthernet0/0/0]ip ?
 #查看IP地址
 [Cloudyfly-GigabitEthernet0/0/0]ip address ?

 #在该接口上配置IP地址,IP地址为 192.168.1.1/24
 [Cloudyfly-GigabitEthernet0/0/0]ip address 192.168.1.1 24 
 #与上述命令相同
 [Cloudyfly-GigabitEthernet0/0/0]ip address 192.168.1.1 255.255.255.0 
 #查看当前视图下的配置
 [Cloudyfly-GigabitEthernet0/0/0]display this  
 #查看当前所有的配置操作 ---- 查看缓存中的配置
 [Cloudyfly]display current-configuration    

 #配置第二个接口 0/0/1
 [Cloudyfly]interface GigabitEthernet 0/0/1
 [Cloudyfly-GigabitEthernet0/0/1]ip address 192.168.2.1 255.255.255.0
 Jan 23 2024 18:59:27-08:00 Cloudyfly %%01IFNET/4/LINK_STATE(l)[1]:The line proto
 col IP on the interface GigabitEthernet0/0/1 has entered the UP state.
两个IP都配置成功:

将该设备中的缓存配置保存至闪存flash中:

快捷键:
  • Ctrl+Z 直接弹回用户视图

  • Tab键 自动补全命令

  • 问号? 查询后续可执行指令

  • 方向键↑ 上一步指令

DNS(域名解析协议)

DNS,因特网上作为域名和IP地址相互映射的一个分布式数据库,为了能够使用户方便访问,而不用去记忆那些繁琐的IP地址。

通过主机域名,最终得到对应的IP地址,这个过程就叫做域名解析

DNS协议运行在UDP协议之上(TCP也存在),使用端口号53

它还是一个典型的 C/S 架构 (客户端/服务器),既有DNS客户端,也有 DNS服务器。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

璀云霄

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

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

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

打赏作者

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

抵扣说明:

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

余额充值