概述
最近在学习路由器的相关知识,总结一下分享给大家。
TCP/IP基础知识
传输介质简介
通信网络出了包含通信设备本身,还包含连接这些设备的传输介质。如:同轴电缆、双绞线和光纤等。不同的传输介质有不同的特性,如:线路编码方式、传输速度和传输距离等。
冲突域:共享式网络中可会出现信号冲突现象。
解决方法:CSMA/CD,CSMA/CD是Carrier Sense Multiple Access with Collision Detection 的缩写,可译为“载波侦听多路访问/冲突检测”,或“带有冲突检测的载波侦听多路访问”。
它的工作原理是:发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同
时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。
其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。
双工模式:半双工模式 只能发送不能接收数据,如:对讲机。
全双工模式 可以同时接收和发送数据,如:电话。
以太网帧结构
OSI 分层模型及每一层的作用
举个例子,A通过QQ向B发送信息,首先根据端口号来确认它的应用程序是什么,然后对关键信息进行加密解密,经过会话层判断要发送的对象,进入传输层建立连接(可以选择可靠的TCP,也可以选择快速的UDP,QQ通常是UDP),再经过IP寻址和路由选择进行传输。最后通过数据链路层,传输介质,转变成比特流。
TCP/IP 分层模型
从上到下的过程叫做封装,从下到上的过程叫做解封。
帧格式
根据Length/Type长度分辨哪一种协议。
Ethernet_II帧格式
D.MAC:目的MAC地址 S.MAC:源MAC地址 Type:根据Type类型判断交给哪个上层协议。 FCS:帧校验,判断帧的完整性。
IEEE802.3帧格式
MAC地址由两部分组成,分别是供应商代码和序列号。其中前24位代表该供应商代码,由IEEE管理和分配。剩下的24位序列号由厂商自己分配。
第一个字节的第8个比特是0,说明是一个单播帧。
第一个字节的第8个比特是1,说明是一个组播帧。
每个比特全为1时,属于广播帧。
当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。
IP编址
version:版本号(IPv4或IPv6) Header length:报文头部 DS Field:网络的业务类型 Total Length:整个报文长度
第二行用来处理数据包过大进行分片 Identification:标识符(数据包过大拆分,传输过去后通过标识符拼接) Flag:标志(判断是否收到最后一个分片,最后一个分片设为1)
Fragment Offset:断片移(当数据传输顺序乱了的时候,通过其恢复)
Time to Live:生存时间(每经过一个设备就减1,防止发生循环导致网络中报文越来越多,初始值为255,为0时丢弃)
Protocol:协议类型,决定上层协议 Header Checksum:帧校验
IP编址
IP地址分为网络部分和主机部分
IP地址由32个二进制位组成,通常用点分十进制表示
网络地址表示其属于哪个网段。网络地址和广播地址不可以使用。
IP地址分类
网络通信
想要进行网络通信,如主机A发送数据至主机C,同属于同一网段,可以直接发送。若主机A发送数据至主机B,则需要知道下一跳的地址(通常是路由网关)。
主机是怎么判断是否和目标同属于同一网段呢。使用子网掩码。
通过IP地址与子网掩码相与,可以得到它的网段。
默认子网掩码
地址规划
网络位和广播位不可以使用,所以可用主机数要减2。
有类IP编址的缺陷
一个网段可以使用的主机数位254个,每个网段分别只需要30个、20个、10个主机,会造成浪费。
如何解决呢?
通过变长子网掩码来实现资源充分利用,主机位借一位作为网络位。原来的一个网段就变成两个网段。
网关
网关用来转发来自不同网段之间的数据包。
ICMP协议
Internet控制消息协议ICMP(Internet Control Message Protocol)是网络层的一个重要协议,ICMP协议用来在网络设备间传递各种差错和控制信息,并用于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。
ICMP重定向
ICMP差错检测
ICMP错误报告
ICMP数据包格式
Type(是重定向还是request,还是reply) code表示同一消息类型中的不同消息
ICMP消息类型和编码类型
ARP协议
网络通信中,仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,通过目的IP地址来获取目的MAC地址的过程是由ARP(Address Resolution Protocol)协议来实现的。
ARP数据包格式
主机A发送一个数据包给主机C之前,首先要获取主机C的MAC地址。通过arp -a获取缓存表,查看是否已经有主机C的MAC地址,若没有需要发送ARP请求报文,通过IP地址获取MAC地址。
缓存表
ARP请求
先将目的MAC地址设为广播地址。
ARP代理
免费ARP
分配IP地址时可以通过免费ARP来判断IP地址是否冲突。
传输层协议
TCP是一种面向连接的传输层协议,提供可靠的传输服务。
TCP端口号
端口号用来区分不同的网络服务。固定端口号为:0 - 1023.均为一些知名端口。动态端口号为 1024 - 65535.
TCP头部
URG:标识紧急指针是否有效 ACK:标识确认序号是否有效 PSH:立刻读走缓存区数据 用来RST:重新建立连接 SYN:请求建立连接 FIN:通知对端断开连接
TCP建立连接的过程
TCP通过三次握手建立可靠连接。
TCP流量控制
UDP是一种面向无连接的传输协议,传输可靠性没有保证。
UDP头部仅占8字节,传输数据时没有确认机制。
使用UDP传输数据时,由应用程序根据需要提供报文到达确认、排序、流量控制等功能。
UDP不提供重传机制,占用资源小,处理效率高。
一些时延敏感的流量,如语音、视频等,通常使用UDP作为传输层协议。
数据转发过程
TCP封装
IP封装
ARP
通过ARP缓存表找到下一跳的MAC地址
如果表项里没有下一跳的MAC地址,主机A会发送ARP请求。
以太网封装
数据帧转发过程
数据包转发过程
数据帧解封装
数据包解封装
数据段解封装
大家点个赞啊????
最后
以上就是迷人银耳汤为你收集整理的路由交换工程师(一)--- TCP/IP基础知识TCP/IP基础知识的全部内容,希望文章能够帮你解决路由交换工程师(一)--- TCP/IP基础知识TCP/IP基础知识所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复