我是靠谱客的博主 迷人银耳汤,最近开发中收集的这篇文章主要介绍路由交换工程师(一)--- TCP/IP基础知识TCP/IP基础知识,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近在学习路由器的相关知识,总结一下分享给大家。

 

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基础知识所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部