IP地址决定数据帧最终到哪去,MAC地址决定下一跳地址。
ping命令
tracert命令
通过发送探测报文来获取链路地址信息。第一个探测报文TTL为1,到达第一个路由器时,TTL减1为0所以丢掉这个探测包,同时向源主机发回ICMP时间超过报文,这时源主机就获得了第一个路由器的IP地址;接着源主机发送第二个探测报文,TTL增1为2,到达第一个路由器TTL减1为1并转发探测包到第二个路由器,这时TTL减1为0,丢掉这个探测包并向源主机发回ICMP时间超过报文,源主机就获得了第二个路由器的IP地址;以此类推,直到探测报文到达traceroute的目的地,这时源主机就获得了到目的地的每一跳路由的IP地址。
HTTP是面向事物的应用层协议,它使用TCP连接进行可靠传输,服务器默认监听在80端口
TCP超时重传时间RTO的确定:
采用自适应算法:先采样RTT(传输往返时间),记录下最近几次传输往返时间值,然后做平滑计算,对当前超时重传时间进行准确估计,以便适时调整RTO.
忽略重传机制:不把重传的RTT(传输往返时间)做采样。
对忽略重传机制的改进:只要发生重传,就对现有的RTO值翻倍。
IP地址与MAC地址的作用:
MAC地址是数据链路层区分,区分网络上各个物理设备用的物理地址。IP地址则是网络层及以上使用的逻辑地址,它为互联网中每个主机和网络分配唯一的逻辑地址,用来屏蔽物理地址的差异。
5层结构体系及各层使用的中间设备:
- 应用层:通过应用进程间的交互来完成特定网络应用。应用层协议:HTTP,SMTP,DNS(域名系统)、文件传送协议:FTP、TFTP
- 运输层:提供两台主机间进程之间的通信。 主要协议:TCP,UDP
- 网络层:路由器
- 数据链路层:网桥 或 桥接器 交换机
- 物理层: 转发器
TCP/IP 体系结构
- 应用层
- 运输层
- 网际层 / IP层
- 网络接口层
OSI7层体系结构及各层使用的协议:
- 应用层:通过应用进程间的交互来完成特定网络应用。应用层协议:HTTP,SMTP,DNS(域名系统)、文件传送协议:FTP、TFTP
- 表示层:负责编码格式;决定在数据在传输前是否需要加密,压缩处理等
- 会话层:主要功能是用来管理网络设备的会话连接,用来建立,维护、终止会话
- 运输层:提供两台主机间进程之间的通信。 主要协议:TCP,UDP
- 网络层:负责选择最佳路径,规划IP地址;地址解析协议ARP、网际控制报文协议ICMP,路由选择协议(内部网关协议RIP、OSPF 外部网关协议:BGP)
- 数据链路层:透明传输,差错检测(没有纠错功能,纠错功能在);点对点协议PPP,CSMA/CD 协议
- 物理层:规定接口标准,电器标准
TCP和UDP的区别:
- TCP: 提供可靠的、面向连接的服务,数据传输前必须建立连接,传送结束后要释放连接;只支持一对一通信;提供全双工通信,面向字节流
- UDP:无连接的、尽最大努力交付(不保证可靠交付的)面向报文的(一次交付一个完整的报文)、UDP没有拥塞控制(保证发送速率,允许网络拥塞时丢失数据,不允许有较大的时延)、UDP首部开销小(8字节)、支持一对一、一对多、多对一、多对多、交互通信。
请问tcp握手为什么两次不可以?为什么不用四次?
两次不可以:tcp是全双工通信,两次握手只能确定单向数据链路是可以通信的,并不能保证反向的通信正常
不用四次:
本来握手应该和挥手一样都是需要确认两个方向都能联通的,本来模型应该是:
1.客户端发送syn0给服务器
2.服务器收到syn0,回复ack(syn0+1)
3.服务器发送syn1
4.客户端收到syn1,回复ack(syn1+1)
因为tcp是全双工的,上边的四部确认了数据在两个方向上都是可以正确到达的,但是2,3步没有没有上下的联系,可以将其合并,加快握手效率,所有就变成了3步握手。
TCP报文头部多长?整个报文最长多长?
TCP数据包大小 1500 - IP头(20B)- TCP头(20B) = 1460B 这也是最大的MSS
TCP首部的最大长度是60字节,由 数据偏移 字段给出,“数据偏移”占4位(4位2进制最大表示15),单位是32位字(4字节),所以TCP首部的最大长度=15*4=60字节。(《计算机网络第七版》谢希仁 P218页)