概述
数据流走向可以看成协议栈,后进先出
物理层 提供比特流传输 RS232 RS449 RJ45 比如网卡
数据链路层传输单位frame(帧) 介质访问,链路管理
网络层 寻址和路由选择packet 子网数据路由选择 分组重组
IP IPX RIP OSPF ICMP IGMP 路由器属于网络层
传输层 建立端到端链接 检测路由器丢弃的包,产生重传与排序乱序的数据包
会话层 spdu 建立维护管理会话
表示层 ppdu 处理数据格式数据加密 格式转换
应用层apdu 提供应用程序间的通信
http https ftp telnet ssh smtp pop3
应用协议:http,smtp,ftp,telnet,snmp
传输协议:tcp udp
网际协议:ip,icmp,arp
路由控制协议:rip,ospf,bgp
应用层:DNS URL HTML HTTP TLS/SSL SMTP POP IMAP MIME TELNET SSH FTP SNMP MIB SIP RTP LDAP
传输层:TCP UDP UDP-Lite SCTP DCCP
网络层:ARP IP ICMP
网络层
ip属于非可靠性网络协议,不会重发丢失的数据
icmp 用来检测网络安全状况,数据包未送达时发送异常通知
arp 从分组数据包的ip地址中解析出mac地址
传输层
tcp不适合视频会议等场合使用 不能用于广播多播,因为是面向一对一的
udp常用于分组数据较少或者多播、广播通信以及视频通信等多媒体领域。
应用层
http应用层
html表示层
其他
SNMP管理的主机、网桥、路由器等称为 SNMP代理agent
代理端保存网络接口信息,通信数据量,异常数据量以及设备温度等,可以通过MIB访问(管理信息基础base)
snmp为应用层 MIB为表示层
封装
用户数据-》appi首部 ——》tcp首部 -》ip首部_> 以太网首部
以太网首部14 字节 ip 20 tcp 20 以太网尾部 4
分用( demultiplexing)(解封)
根据端口号进行分用,提交给哪一个应用程序
周知端口 0-1023
注册端口 1024-49151
动态或私有或临时端口 49152-65535
实际上1024就开始分配动态端口,但是sun得rpc从32768开始
MTU 最大传输单元 unit
以太网 和IEEE802.3数据帧限制分别是 1500 1492
两台通信主句路径中最小的MTU 叫做路径MTU 不可以超过,会产生分片,降低通信效率
以太网帧的格式
IP地址转换为MAC地址 ::: 地址解析协议 ARP
MAC --》IP RARP 反向地址解析
ICMP 用于传递差错信息 时间 回显 网络信息等控制数据 IP->MAC 出错就会用到
ping 也是用到ICMP协议 属于IP 层协议
例如ping程序数据在网络中的传输过程
RARP
一般应用在无盘工作站(没有办法保存地址缓存),但是知道自己的MAC地址
首先向RARP服务器发送请求
IP数据报格式
总长度0-655535 16位长度
分片也会使用同一个标识号
服务类型 TOS
最小延迟D 最大吞吐量T 最高可靠性R 最小费用F
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64
TTL (time to live)
表示数据报最多可经过路由器的数量 如果TTL减为0,丢弃并发送ICMP报文通知源主机
网际校验和(internet checksum)
ip首部(不含校验和)反码+0x1111=发送端校验和 (2)
IP首部=ip首部(不含校验和)+发送端校验和
ip首部(不含校验和)反码+发送端校验和反码=接收端校验和 (1)
(1)-(2)
发送端校验和反码-0x1111=接收端校验和 - 发送端校验和
发送端校验和反码+发送端校验和 - 0x1111 =接收端校验和 (3)
ip首部(不含校验和)反码+(ip首部(不含校验和)反码+ 0x1111)反码=接收端校验和
ip首部(不含校验和)反码+ip首部(不含校验和) +0 =接收端校验和
0x0101
0x1010
0x1111
不是完备的校验
TCP特点:基于字节流segment段
面向连接
可靠传输
缓存传输
全双工
流量控制
需要源IP 端口 目的 ip 端口
紧急数据一般称为带外数据
MSS最长报文大小 max segment size
默认536 不超过MTU 超过就会分片
TCP如何保证可靠性
不可靠性:
差错 通过校验和 如果变化将丢弃不确认 从而导致超时重传
失序 seq序号保证不失序
重复 seq
丢包 超时重传 +确认机制(规定时间未收到确认消息) 但是不是立即发送
TCP还可以提供流量控制 TCP连接的每一方都有一定大小的缓冲空间
滑动串口协议(流量控制)
可以用于 链路层 传输层
链路层以帧为单位确认
传输层TCP以字节为单位确认
TCP头部有一个16位整数的窗口大小序号
发送窗口大小必须小于接受窗口大小 就是这个头部决定的
MSS不要超过MTU-20-20
UDP效率更高 因为头部比TCP简单
FDDI 光纤分布式数据接口
ATM 异步传输方式
解决网络中的环路问题,有生成树、源路由两种方式。
最后
以上就是高大菠萝为你收集整理的TCP/IP面试必备的全部内容,希望文章能够帮你解决TCP/IP面试必备所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复