記事ディレクトリ
1コンピュータネットワークの基礎知識
1.1 OSI 7層モデルの各層の機能とtcp / ip 4層モデルの機能との関係は何ですか?
- 階層構造上の2つのプロトコルの関係は次のとおりです。
TCP / IP構造 | OSI 7層構造 |
---|---|
アプリケーション層 | アプリケーション層、プレゼンテーション層、セッション層 |
コンピューターからコンピューター層(TCP)(トランスポート層とも呼ばれます) | トランスポート層 |
ネットワーク層(IP) | ネットワーク層 |
ネットワークインターフェイス層(リンク層) | データリンク層、物理層 |
- TCP / IPプロトコルスイートには、多くのサブプロトコルが含まれています。サブプロトコルとOSI 7層プロトコルの関係は次のとおりです。
OSIプロトコル層名(上から上) | 特徴 | TCP / IPプロトコルファミリ |
---|---|---|
アプリケーション層 | ファイル転送、メール、ファイルサービス、仮想端末などに使用されるユーザープログラムとプログラム間の通信 | HTTP、SNMP、TFTP、FTP、DNS、Telnet、等 |
プレゼンテーション層 | データのエンコード、暗号化、および圧縮を決定します。データにはさまざまなマルチメディアファイルが含まれます。機能には、暗号化および復号化アルゴリズム、圧縮および解凍アルゴリズム、フォーマット変換アルゴリズムが含まれます。 | 子供の同意なし |
セッション層 | 異なるマシン上のユーザー間のセッションを確立、管理、および終了する | 子供の同意なし |
トランスポート層 | ポート間通信を実現します。データメッセージの送信には、信頼性の高い(TCPプロトコル)と信頼性の低い(UDPプロトコル)の2つの送信方法があり、さまざまなシナリオに適しています。タイムアウトの再送信メカニズムとフロー制御メカニズムがあります。 | TCP、UDP |
ネットワーク層 | 論理アドレスアドレッシング、データパケットが転送され、データパケットの転送判断メカニズム(ルーティングアルゴリズム)、データパケットのパケット送信、論理アドレスアドレッシング | IP、ICMP、OSPF、IGMP、RIP等 |
データリンク層 | デバイスの物理アドレッシング、このレイヤーで送信されたデータフレームのエラー検出、および元のビットストリームの論理的な伝送路への上方変換 | PPP、ARP、MTU等 |
物理層 | チャネルで送信されるデータビットの変調と復調は、この層が送信のための通信媒体とインターフェース標準を決定することを意味します | IEEE802.2など |
1.2 TCP / IPプロトコルスタックの一般的なプロトコルと機能
層 | プロトコル | 特徴 |
---|---|---|
ネットワークインターフェース層 | ARP | 物理アドレスを見つけるために使用されます。データフレームを転送する前に、物理アドレスのみを決定できます。 |
ネットワークインターフェース層 | MTU | 通信相手に、相手から受信できるデータユニットの最大値を通知します。ただし、データフレームのヘッダーとテールを除き、データ部分は通常46〜1500バイトです。 |
ネットワーク層 | RIP | 「距離ベクトル」アルゴリズムに基づいています。動的ルーティング選択のための自己矛盾のないシステム内部ゲートウェイプロトコル。 |
ネットワーク層 | BGP | 異なる自己矛盾のないシステム間でルーティング情報を交換するために使用されます。各自己矛盾のないシステムは、BGPを実行しているノードを指定する必要があります |
ネットワーク層 | OSPF | 「open shortest path first」ルーティングアルゴリズムに基づくリンクステートプロトコルは、自己矛盾のないシステムで機能し、フラッディング方式を使用して、隣接ノードとルーティング情報を交換します。 |
ネットワーク層 | IP | コアプロトコル(IPアドレッシングスキーム、IPパケットフラグメンテーション、パケットカプセル化形式、パケット転送ルールを含む) |
ネットワーク層 | ICMP | ネットワークの操作性、ホストの到達可能性(送信パケット)、タイムアウトなど、IPホストとルーター間で制御情報を転送するために使用されます。 |
トランスポート層 | TCP | コアプロトコル、対面式、信頼性の高いプロトコル、データ検証、フロー制御、タイムアウト再送信、ピギーバック確認機能 |
トランスポート層 | UDP | 接続を確立せずにカプセル化されたIPデータパケットを送信する方法は信頼できません。特性は関係ありません |
アプリケーション層 | HTTP | TCP接続に基づくハイパーテキスト転送プロトコル。クライアントがサーバーに送信するメッセージの種類と取得する応答の種類を指定します。主にWebコンテンツの取得に使用されます |
アプリケーション層 | DNS | ドメインネームシステム。主に電話帳のように、ドメイン名とIPアドレス間の変換に使用されます |
アプリケーション層 | FTP | TCPプロトコルに基づいて、ユーザーがファイル操作(ファイルの追加、削除、変更、チェック、送信など)で別のホストと通信できるようにします。 |
アプリケーション層 | SMTP | TCPプロトコルに基づく、信頼性が高く効果的なメール送信プロトコル |
1.3 TCPプロトコルステートマシンと3ウェイハンドシェイクと4波のプロセスについて説明する
- 最初にTCPメッセージの内容を理解する
-
32ビットの確認シーケンス番号はACKです。これは、次に予期されるバイトシーケンス番号に対して致命的です。
-
32ビットのシーケンス番号Seq:このセグメントで送信されたデータグループの最初のバイトのシーケンス番号
-
制御ビット(メッセージセグメントの13バイト目と14バイト目の最後の6ビット):
-
ACK:确认序号标志。仅当ACK = 1 时确认号字段才有效,当ACK = 0时,确认号无效。TCP规定,在连接建立之后所有的传送的报文段都必须把ACK置为1。
-
SYN:连接建立时用来同步序号。当SYN = 1时而ACK = 1时表示这是一个连接请求报文段。对方若同意连接,则应在响应的报文段中是SYN = 1 和ACK = 1,因此SYN = 1就表示这是以恶搞连接请求或连接接受报文;
-
用来释放一个连接,当FIN = 1时,表示次报文段的发送方的数据已经发送完毕,并要求释放运输连接;
TCP三次握手分析如下:
-
第一次握手:客户端(Client)向服务器端(Server)发送第一个包,其中标志位:SYN=1、ACK=0,发送序号Seq=x。客户端进入:SYN发送状态,等待服务器确认;
第二次握手:服务器收到客户端发送的包,后发送第二个包,其中包的SYN=1、ACK=1,接收顺序号ack为x+1,发送序号Seq为y,服务器进入SYN接收状态;
第三次握手:客户端收到服务器端传过来的包后,向服务器发送最后一个包,其中标志位SYN=0、ACK=1,发送顺序号Seq为x+1,ack为y+1。此包发送完毕,客户端和服务器都进入ESTABLISHED即建立成功的状态。至此三次握手完成。
TCP四次挥手分析如下:
第一次挥手:主动方发送第一个包,FIN=1,发送顺序号seq=x;主动方进入FIN_WAIT 状态
第二次挥手:被动方收到主动方发送的包后发送第二个包标志位ACK=1,接收顺序号ack=x+1;被动方进入CLOSE_WAIT状态
第三次挥手:被动方再发送第三个包,其中FIN=1,发送顺序号seq=b,接收顺序号ack=x+1;被动房进入LAST_WAIT状态
第四次挥手:主动方接收到包后进入TIME_WAIT状态,主动方发送第四个包,ACK=1,其中发送顺序号seq=x+1。确认方收到后,进入CLOSED状态,至此,完成四次挥手;
1.4 回环网卡(Lookback Adaptor)功能?
定义:一种特殊的网络接口,不与任何实际设备连接,而是完全由软件实现,有了这个接口,就允许了运行在同一个主机上的客户程序和服务器程序通过TCP/IP进行通信。A类网络号127即为环回接口预留的。大多数系统会把ip地址为127.0.0.1分配给这一个接口,命名为localhost,ip数据包的传送不允许出现在网络上。
注意:
- 传给环回地址(一般:127.0.0.1)的任何数据均作为IP输入(传回给本地网络层);
- 根据广播/多播传送定义,传给广播/多播地址的数据报需要复制多一份传给环回接口,再继续传到以太网上
- 任何传给本主机IP地址的数据均会送到环回接口
1.5 描述数据报封装解封装过程
- 封装过程如下
-
应用层数据经过传输层封装头部形成TCP报文段或UDP数据报。
TCP报文段头部最少20个字节,剩下有40字节的选项;而UDP报文段最少8个字节。
-
传输层的报文段当做网络层传输单位的数据部分,再加上一个IP头部组成IP数据报。报头固定长度为20字节,还有40字节可选部分。
-
网络层的IP数据报作文数据链路层传输单位的数据部分(可能有分片),数据部分的头部有14个字节帧头,还有4个字节帧尾;数据帧的大小范围为64字节-1518字节(包括头部)。至此帧不再继续封装,帧数据最终成为了在物理网络上的传输的字节序列。
-
帧转化为比特流
- 解封装过程如下
-
如图,当数据帧到达目的主机的时候,沿着协议栈向上传递。每一个帧根据头部信息识别对应不同的协议,将数据部分(IP数据报)分发到不同网络协议指定的区域中;
-
同样的,网络层识别IP数据报的报头,将分片的数据部分组装成完整的传输层报文段,分发到报文段不同协议指定的区域中;
-
同样的,传输层根据报文段头部的端口号,将数据部分发送到指定的操作系统端口中,最后数据到达目标的APP;
-
到达应用层,APP(or ARP服务、RARP服务、ICMP服务)会收到被操作系统封装前的源应用数据(经过了各种解码/译码)。在APP看来,数据包封装/解封装好像是没有发生过一样。
1.6 端口号作用及常用协议端口号有哪些?
- 一个APP应用程序可能需要执行多种服务,那么多种服务执行过程中,传输层在往应用层传递数据中,为了识别不同类型的数据,势必就需要识别不同的端口,以此对应不同的服务。所以端口号的作用是区分服务类型。
- 另一个作用是,可以保证在同一时间进行多个会话(数据传输服务)。
基于TCP/IP的常见端口号 | 协议服务 |
---|---|
TCP 21 20 | FTP文件传输服务 |
TCP 23 | TELNET终端仿真服务 |
TCP 25 | SMTP邮件传输服务 |
UDP 53 | DNS域名解析服务 |
TCP 80 | HTTP超文本传输服务 |
TCP 110 | POP3 邮局协议版本3 使用的端口 |
TCP 443 | HTTPS加密的超文本传输服务 |
TCP 1521 | Oricle数据库服务 |
TCP 22 | SSH |
注意:
- 以上是服务器端使用的端口即熟知端口号,在端口号为1-1023之间。在服务器上使用。
- 1024-49151的端口号叫做登记端口号,为没有熟知端口号的应用程序使用。使用这类端口号必须在IANA按照规定的手续登记,以防止重复。在服务器上使用。
- 49152-65535位客户端使用的临时端口号,动态选择的端口号,C-S之间通信结束之后,端口号就释放出来,供其他客户进程使用。
1.7 IP模块
- ip地址功能
- 标识主机:标识其网络接口,即主机在网络中的具体位置
- 网络寻址:该功能的目的是将IP数据报从一个网络模块 送到 目的地。寻址的过程叫做路由,每个IP数据报包含了发送主机的IP地址和目的主机的IP地址
- ip地址分类
A类IPV4地址 | B类IPV4地址 | C类IPV4地址 | D类IPV4地址 | E类IPV4地址 | |
---|---|---|---|---|---|
网络标志位 | 0 | 10 | 110 | 1110 | 11110 |
IP地址范围 | 1.0.0.0~127.255.255.255 | 128.0.0.0~191.255.255.255 | 192.0.0.0~223.255.255.255 | 224.0.0.0~239.255.255.255 | 240.0.0.0~247.255.255.255 |
可用IP地址范围 | 1.0.0.1~127.255.255.254 | 128.0.0.1~191.255.255.254 | 192.0.0.1~223.255.255.254 | ||
主机可以使用? | √ | √ | √ | × | × |
网络个数 | 126(2^7-2) | 16384(2^14) | 2097152 (2^21) | ||
每个网络可以容纳主机数量 | 16777214 (2^24-2) | 65534 (2^16-2) | 254 (2^8-2) | ||
适用范围 | 拥有大量主机的大型网络 | 中等规模主机数的网络 | 小型局域网组播地址 | ** | 保留,仅作为搜索、Internet的实验和开发用 |
-
子网掩码功能
含义:一种用来指明一个IP地址的哪些位标识的是主机所在的网络地址以及哪些位标识的是主机地址的位掩码。
功能:将一个单一的大型网络按需求划分成若干个较小的网络。
-
网关作用
网关工作在OSI参考模型的高三层,因此,并不使用冲突域、广播域的概念。网关主要用来进行高层协议之间的转换。例如,充当两个基于不同邮件协议的邮件服务之间的邮件网关。
注意:这里网关的概念完全不同于PC主机以及路由器上配置的默认网关(default gateway).
-
什么是网络地址
把IP地址转成二进制和子网掩码进行与运算所得的IP地址
-
什么是广播地址
网络地址的主机位有5位全部变成1 所得的IP地址
-
什么是主机地址
主机位数介于网络地址主机位和广播地址主机位数之间(不包括)的IP地址:网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址
-
给定一个地址 192.168.1.0/255.255.255.240,子网数为多少?每个子网可用主机地址数为多少
-
IP地址中的192换算成二进制为11000000,故得出这个IP地址是一个C类地址,子网掩码为255.255.255.0,有八位是主机位
-
实际子网掩码为255.255.255.240;240换算成二进制数为:
11100000,故该掩码向主机位借了四位,实际主机位只有4位;
-
子网数为2^4=16个(CIDR的计算方法)
-
每个子网用主机数(平均划分)为:2^4-2=14个,除去的两个是全零、全一,这两种情况:全零用于标识网段、全一用于广播;除此以外,这14个可用主机地址还包含了分配给路由器端口的情况。
-
1.8 基础路由和交换技术
-
交换机工作原理
- 封装和解封装
- MAC-端口表/广播寻址
- 转发
交换机工作在数据链路层。内部会形成一张MAC-端口对应表,在存储和转发一个TCP/IP数据包时会查看该包的目的MAC地址,再核对自己的表确认要从交换机的哪一个端口转发出去;如果没有找到,就需要广播搜索以得到目的MAC地址;同样的当收到一个包的时候也会检查这个包的目的MAC地址是不是自己本身,并不断维护这一个MAC-端口表。
-
路由器工作原理
- 解封装数据
- 查找/维护路由表寻址,转发
- 重新封装数据
主要任务是接收来自某个网络接口的数据包,根据其中所含的目的地址,决定转发到下一个目的地址。因此,路由器首先得在转发路由表中查找它的目的地址,若找到了目的地址,就在数据包的帧格前添加下一个MAC地址,同时IP数据包头的**TTL(Time To Live)**位也开始减1,并重新计算校验和。当数据包被送到输出端口时,它需要按顺序等待,以便被传送到输出链路上。
路由器的工作是通过协议来实现。
-
路由协议功能
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tlIVQwvH-1595226585460)(assets/2020-06-27_150310.jpg)]
-
LAN&WLAN区别
WLAN LAN 无线局域网 局域网 完全无线通信 连接包括无线和有线 容易受到外部干扰,信号不稳定 信号稳定 不安全 安全 不需有线连接交换机和路由器 需要物理连接交换机或路由器 不需要连接以太网电缆 相关中继设备需要连接以太网电缆 昂贵 便宜 应用在:无线路由器连接/热点连接,主要在电脑笔记本、平板电脑、手机普及 主要应用在类似大学里的计算机 -
NAT工作原理
网络地址转换(NAT)是为保护 IP 地址而设计的。 它使得使用未注册 IP 地址的私有 IP 网络能够连接到互联网。 工作原理如下:
- NAT 操作在一个路由器上,通常将两个网络连接在一起,在数据包转发到另一个网络之前,将内部网络中的私有地址(不是全局唯一的)转换成合法的地址。
- 涉及到多级NAT 转换
- 局域网内用私网地址,互联网用公有地址
作为此功能的一部分,NAT 可以被配置为只向外部世界发布整个网络的一个地址。 这可以有效地将整个内部网络隐藏在该地址后面,从而提供额外的安全性。 Nat 提供了安全和地址保护的双重功能,通常在远程访问环境中实现。
IPV4中,私有IP地址的范围有:
- 10.0.0.0-10.255.255.255 (8位网络号)
- 172.16.0.0—172.31.255.255(12位网络号)
- **192.168.0.0-192.168.255.255 **(16位网络号)