tcp/ip协议认识

tcp/ip协议认识

协议分为四层,自下而上分别是链路层,网络层,传输层,应用层
mac数据报
传输过程c++

1.链路层

主机A把网络层传递下来的ip数据包增长首部和尾部,以后变成mac数据包,传给物理层。主机B链路层收到数据包会去掉首部和尾部,呈交给上层。web

链路层的基本协议

1.封装成帧
传输时的mac数据包会增长SOH和EOT,接收端只有同时收到两个符才不会丢弃数据包。
2.透明传输
SOH=0x01
EOT=0x04
由于是透明传输,因此接受的数据可能会遇到SOH和EOT的状况,以此出现了转义字符,ESC=0x1B
3.差错检测
用的是循环冗余检测CRC服务器

点对点协议(ppp协议)

ppp协议不用纠错,是不可靠传输,不用多点线路
F=Flag标志字段开始或结束=0x7E
A=地址字段=0xFF
C=控制字段=0x03
ppp帧=F1+A1+C1+协议2+IP数据+fcs+F1
F标志不会连续出现两个,如出现则传输发生错误
字节填充:0x7E->(0x7D,0x5E) 0x7D->(0x7D,0x5D)
小于0x20的,如0x03->(0x7D,0x23)
零比特传输:发送方连续出现5个1,则会增长一个0,接收方若是发现5个1,则会删除后面那个0,保证了F不会出现
协议的运行:pc机呼叫路由器,路由器收到载波信号,创建了物理层协议,此时LCP(链路控制协议)开始协商配置选项即发送ppp帧,帧的协议部分为LCP对应的代码,信息部分为特定的配置请求,链路另外一端会响应(确认帧,否定帧,拒绝帧)
网桥(小型交换机)网络

2.网络层

网络层具备协议ip协议,arp协议,rarp协议,ICMP协议,IGMP协议
在这里插入图片描述
物理层:转发器
链路层:网桥
网络层:路由器
网络层以上:网关
数据的传输中ip的源地址和目的地址不会发生改变,mac地址会发生改变。
arp协议的会发送arp广播包,若是存在相应的ip地址,则会收到相应的arp回应包。tcp

3.传输层

用户数据报协议UDP/传输控制协议TCP
系统端口号0-1023
登记端口号1024-49151
客户端49152-65535
UDP的特色:udp无链接,尽最大努力交付,面向报文,也就是整个报文转发,太大时网络层会本身切片,没有拥塞控制,这样面对视频等实时的数据颇有利,源主机只会源源不断的输出数据。并且UDP的只有8字节,减小了数据量。
TCP的特色:面向字节流的可靠交付,必须由套接字创建链接。拥有中止等待协议。
中止等待协议:A发送M1给B,发送完暂停等待B的确认,B得向A发送确认,以后A会发送分组M2…
超时重传:为了防止丢失A会保存一个副本,当接收到B传来的确认,存的副本才会删除。
确认迟到,确认丢失:只要到达了相应的时间,A都会重传,若是确认迟到,A收到,可是会忽略。若是确认丢失,A重传,B接收丢弃,发出确认。
因为中止等待协议的信道利用率过低,于是出现了ARQ协议和滑动窗口协议。ARQ容许连续发送一组分组,以后接收最后一个确认。滑动窗口是在一个发送窗口范围内,有待确认窗口,可用窗口,发送一组数据,以后等待确认,无确认的超时重发。
TCP三次握手svg

A->B:SYN=1 seq=x
B->A:SYN=1 ACK=1 seq=y ack=x+1
A->B:ACK=1 seq=x+1 ack=y+1

TCP 释放code

A->B:FIN=1 seq=u
B->A:ACK=1 seq=v ack=u+1
等待一段时间....
B->A:FIN=1 ACK=1 seq=w ack=u+1
A->B:ACK=1 seq=u+1 ack=w+1

4.应用层

DHCP服务视频

A->B:DHCPDISCOVER
B->A:DHCPOFFER
A->B:DHCPREQUEST
B->A:DHCPACK

or DHCPNACK  DKCPRELASE
当租用期到达周期的一半会request,若是B不响应,则会在85%T再次request

httpxml

从域名服务器找到ip,以后会创建tcp
相关文章
相关标签/搜索