1.トランスポート層
定義: アプリケーション層に通信サービスを提供し、ネットワーク層のサービスを利用する
トランスポート層の機能:
トランスポート層は、プロセスとプロセス間の論理通信を提供します
多重化と逆多重化
トランスポート層は、受信したパケットのエラー検出を実行します
トランスポート層の 2 つのプロトコル
トランスポート層の 2 つのプロトコル:
1. 接続指向の伝送制御プロトコル TCP: データ伝送の前に接続を確立する必要があり、データ伝送の後に接続を解放する必要があります。ブロードキャストまたはマルチキャスト サービスは提供されません。TCP は信頼性の高い接続指向の伝送サービスを提供する必要があるため、必然的に多くのオーバーヘッド (確認、フロー制御、タイマー、および接続管理) が増加します。 信頼性が高く、接続指向で、待ち時間が長く、大きなファイルに適しています
2. Connectionless User Datagram Protocol UDP: データを送信する前に接続を確立する必要がなく、UDP メッセージを受信した後に確認を行う必要もありません。 信頼性が低い、接続なし、低遅延、小さなファイルに適している
多重化:アプリケーション層のすべてのアプリケーションプロセスは、トランスポート層を介してネットワーク層に送信できます
分散化: トランスポート層は、ネットワーク層からデータを受け取った後、指定されたアプリケーション プロセスを配信します。
ネットワークでは、送信側と受信側のソケットの組み合わせを使用してエンドポイントを識別します.ソケットは、ネットワーク内のホストとその上のプロセスを一意に識別します.
1.UDPプロトコル
UDP は、IP データグラム サービスにいくつかの機能、つまり多重化、逆多重化、およびエラー検出機能を追加するだけです。
UDP の主な機能:
1. UDP はコネクションレスであり、データ送信前のオーバーヘッドと遅延を削減します
2. UDP はベスト エフォート型の配信を使用しますが、これは配信の信頼性を保証するものではありません
3. UDP はメッセージ指向であり、一度に少量のデータを送信するネットワーク アプリケーションに適しています。
4. UDPには輻輳制御がなく、多くのリアルタイムアプリケーションに適しています
5. UDP ヘッダーのオーバーヘッドは小さく、8B、TCP 20B
2. TCP プロトコル
TCP 機能:
TCP は接続指向 (仮想接続) のトランスポート層プロトコルです。
各 TCP 接続は 2 つのエンドポイントのみを持つことができ、各 TCP 接続はポイントツーポイントのみにすることができます。
TCP は、信頼性の高い配信サービス、エラーなし、損失なし、繰り返しなし、順序どおりの到着を提供します。
TCP は全二重
TCP フィールド分析:
シーケンス番号: TCP 接続で送信されるバイト ストリームの各バイトは、順番に番号が付けられます. このフィールドは、このセグメントで送信されるデータの最初のバイトのシーケンス番号を示します.
Acknowledgement number : 相手が受信すると予想される次のセグメントの最初のデータ バイトのシリアル番号。確認番号が N の場合、シーケンス番号 N-1 までのすべてのデータが正しく受信されたことが証明されます。
データ オフセット (ヘッダー長) : TCP メッセージ セグメントの先頭から TP メッセージ セグメントのデータ先頭までの距離を 4B ビット単位で表した値、つまり 1 つの値が 4B です。
6 つのコントロールは次のとおりです。
緊急ビット URG: URG=1 の場合、このメッセージ セグメントに優先度の高いデータである緊急データがあり、キャッシュにキューイングせずにできるだけ早く送信する必要があることを示します。ポインター フィールド
確認ビット ACK : ACK=1 の場合、確認番号は有効であり、接続が確立された後、送信されたすべてのセグメントは ACK を 1 に設定する必要があります。
プッシュ ビット PSH : PSH=1 の場合、受信側はできるだけ早く受信アプリケーション プロセスを配信し、キャッシュがいっぱいになるまで待たずに上方に配信します。
Reset RST : RST=1 の場合、TCP 接続に重大なエラーが発生したことを示し、接続を解放し、伝送リンクを再確立する必要があります。
同期ビット SYN : SYN=1 の場合、接続要求/接続許可メッセージであることを示します。
終了ビット FIN : FIN=1 の場合、このメッセージ セグメントの送信者のデータが送信されたことを示し、接続を解放する必要があります。
Window : このセグメントを送信する当事者の受信ウィンドウ、つまり、相手が現在送信できるデータの量を指します。
チェックサム:ヘッダ+データをチェックし、チェック時に12B疑似ヘッダを付加し、4番目のフィールドは6
緊急ポインタ: URG=1 の場合のみ意味があり、このセグメント内の緊急データのバイト数を示します
オプション: 最大セグメント長 MSS、ウィンドウ拡張、タイムスタンプ、選択確認
3. TCP コネクションの確立と解放
TCP 接続の確立: スリーウェイ ハンドシェイク
ラウンド1:
クライアントは、アプリケーション層データなしで接続要求セグメントを送信します。SYN=1、seg=x (ランダム)
ラウンド2:
サーバーは、 TCP 接続用のバッファーと変数を割り当て、確認メッセージ セグメントをクライアントに返し、アプリケーション層データなしで接続を許可します。
SYN=1、ACK=1、seg=y(ランダム)、ack=x+1
ラウンド 3:
クライアントはTCP 接続用にバッファと変数、サーバーに確認応答を返します。サーバーはデータを運ぶことができます。
SYN=0,ACK=1,seq=x+1,ack=y+1
TCP 接続の解放: 4 ウェイ ハンドシェイク
ラウンド1:
クライアントは接続解放セグメントを送信し、データの送信を停止して、TCP 接続を積極的に閉じます。
FIN=1,seq=u
ラウンド2:
サーバーは確認メッセージ セグメントを返信し、この方向のクライアントからサーバーへの接続は解放された半閉鎖状態です。
ACK=1,seq=v,ack=u+1
ラウンド 3:
サーバーはデータを送信した後、接続解放メッセージ セグメントを送信し、TCP 接続を積極的に閉じます。
FIN=1,ACK=1,seg=w,ack=u+1
ラウンド 4:
クライアントは確認メッセージ セグメントを送り返し、タイマーによって設定された 2MSL (メッセージ セグメントの最長寿命) が経過するまで待機し、接続が完全に閉じられます。
ACK=1,seq=u+1,ack=w+1
4. TCP フロー制御
在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd (接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。
5.TCP拥塞控制
拥塞控制的四种算法:
1.慢开始 2.拥塞避免
3.快重传 4.快恢复
发送窗口=Min(接收窗口rwnd,拥塞窗口cwnd}
接收窗口:接收方根据接受缓存设置的值,并告知给发送方,反映接收方容量
拥塞窗口:发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络当前容量
1.慢开始和拥塞避免
2.快开始和快恢复
2.应用层
两个网络应用模型:客户/服务器(c/s) 模型和P2P模型
1.客户/服务器(c/s) 模型
服务器:提供计算服务的设备。
永久提供服务
永久性访问地址/域名
客户机:请求计算服务的主机
与服务器通信,使用服务器提供的服务
间歇性接入网络
可能使用动态IP地址
不与其他客户机直接通信
2.P2P模型
特点:
不存在永远在线的服务器
每个主机既可以提供服务,也可以请求服务
任意端系统/节点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
可扩展性好
网络健壮性强
3.DNS系统
域名的分类:
分类 |
二次分类 |
例子 |
顶级域名 |
国家顶级域名 |
cn,us,uk |
通用顶级域名 |
com,net,org,gov,int,aero,museum,travel |
|
基础结构域名/反向域名 |
arpa |
|
二级域名 |
类别域名 |
ac,com,edu,gov,mil,net,org |
行政区域名 |
用于我国各省、自治区、直辖市 bj,js |
|
三级域名 |
❌ |
|
四级域名 |
❌ |
域名服务器:
根域名服务器
顶级域名服务器:管理该顶级域名服务器注册的所有二级域名
权限域名服务器:负责一个区的域名服务器
本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器
查询解析域名的两种方法:
1递归查询
2.迭代查询
4.文件传输协议FTP
定义:提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力
FTP是基于客户/服务器(c/S)的协议
FTP工作原理:
控制连接始终保持
数据连接保持一会
是否使用TCP20端口建立数据连接与传输模式有关
主动方式使用TCP20端口
被动方式由服务器和客户端自行协商决定(端口1024)
5.电子邮件系统
1.简单邮件传送协议SMTP
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息
负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器,使用的端口号是25
SMTP的缺点:
SMTP不能传送可执行文件或者其他二进制对象
SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字
SMTP服务器会拒绝超过一定长度的邮件
解决:通用因特网邮件扩充MIME
2.网际报文存取协议IMAP
定义:IMAP协议比POP协议复杂。当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上
3.基于万维网的电子邮件
6.万维网
万维网www(World Wide web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合
URL:统一资源定位符
HTTP:超文本传输协议
万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来
1.超文本传输协议HTTP
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
HTTP的连接方式:
1.持久连接
非流水线连接
流水线连接
2.非持久连接
HTTP的报文结构:
1.请求报文
2.响应报文
HTTP报文是面向文本的,因此在报文中的每一个字段都是一些ASCII码串