计算机基础 --图解TCP/IP协议

最近一直在看计算机基础相关的东西,其实之前也有略略的看过一些相关的文档,但是留下了很多迷糊不清的地方,所以趁着北京入秋了,在家也重新整理整理,也能让自己能不断的复习。


1.计算机网络概论

2.传输层

3.网络层

4.数据链路层

5.物理层


1.计算机网络概论

对于计算机网络的实现而言,根据不同的协议以及指定的服务划分了多层。其中国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。OSI/RM模型各层之间的目的很明确,但是由于在制定的过程中Internet互联网已经在使用中而且该模型划分过细的原因,导致使用不广。


OSI/RM模型各层提供服务

在实际上存在多个分层模型,分别为:
①OSI/RM模型(开放系统互连基本参考模型)是官方制定的并且各层之间划分更为详细的模型。
②TCP/IP协议是使用最为广泛并且各层之间更适用于实际的模型。
③而五层协议往往是在TCP/IP协议之上便于说明的一种模型。

网络划分三种模型

因为数据链路层和物理层实现面对的对象以及目标不同,所以以五层协议进行图解分析。

2.传输层

传输层处于应用层和网路层之间,处理的是端到端的数据传输服务。由于同时能有多个应用进程进行网络请求,所以该层的两个最基本服务为:

①复用和分用

传输层可能同一时间接收到来自多个应用进程进行网络请求需要发送的数据,并且可能同一时间需要分解由网络响应给不同应用进程的数据。

复用分用原因示例图
②校验码(16bit)

检验传输的数据和头部字段中出现的位数错误,属于最简单的检错机制。因为如果同时多位发送错误,很可能检验不出错误,所以检验和未能检验出错误的数据并不一定是正确的。
检验和的计算过程如下:
①将整个传输层的数据报(包括头部字段)以16位为一个整数单位进行相加计算sumResult。
②如果sumResult首位发生进位,便将该进位与去掉该进位的sumResult进行相加,得到校验和。

计算校验和的过程

传输层有两大协议 ---UDP和TCP,因为传输层未涉及到网络相关的实现,所以该层的协议都不提供对延迟和带宽的保证。

2.1 UDP协议 (User Datagram Protocol)

UDP被称为“不可靠”的传输协议,因为该协议只是实现了传输层两个最基本服务。

UDP协议

由于实现的服务少,UDP数据报的头部只有8个字节。

2.2 TCP

TCP协议被称为“可靠”的传输协议。所谓“可靠”指的的是:
① 不错 --->校验码检验错误,以及数据确认机制
②不乱 --->对于所有数据分组进行序列化,并且能够进行“重组”
③不丢 --->对数据分组启动定时器功能以及超时重传机制
同时在数据乱序到达时,TCP为了避免接收主机缓存溢出,使用了拥塞控制以及流量控制机制。

首先,图解TCP数据报结构:
TCP数据报结构
其次,TCP的三次握手建立连接的过程:
TCP建立连接

为了避免主机缓存溢出,在建立连接的过程中主机间会交换各自的缓存空间的大小。并且在接收发送的过程中也会不断的交流剩余空间的大小,以此控制传输数据的速率。
如:当接收主机B的缓存空间接近零时,主机B会向发送主机A发送当前的缓存空间大小,主机A接收到响应后会调整传输的数据,以最小的数据量不断的询问主机B是否已经处理完成。

最后,TCP的关闭连接:
TCP关闭连接

TCP关闭连接需要4次的交互,主要是因为TCP是全双工传输(在同一连接中能够传输双向数据流)。在TIME_WAIT阶段中,客户端一般会等待30秒,如果期间再接收到从服务器发送的数据,会不断的发送"ACK"给服务器。

2.3 UDP和TCP的对比

UDP的优势:
①由于不需要建立连接以及维护连接,所以UDP会减少时延。
②头部开销少:UDP只需要8个字节,而TCP需要20个字节。
③没有拥塞控制,应用可以更好的控制发送的时间
UDP的劣势:
只有简单的错误校验机制,没有错误恢复机制,所以会产生数据的丢失,非按序到达等问题。
UDP的用途:
①用于流媒体应用(容忍丢失,速率敏感)
②DNS和SNMP(使用广播等的协议)

3.网络层

网络层主要是提供了逻辑寻址和路由选择。详细的介绍可以参考之前我写的文章:TCP/IP协议 -IP

首先,图解IP协议数据报结构:
IP协议数据报结构

由于IP数据报的总长度字段为16bit,所以IP数据报最大为65535字节,在IP传输的过程中可以没有数据,所以IP数据报最短为20个字节。

其次,逻辑寻址
①发送端和接收端的主机在同一个子网中

如果两个主机都在同一个子网中,根据以太网协议知道,需要依靠MAC地址进行主机的识别以及发送和接受数据。将需要将IP地址通过ARP和MAC地址连接起来,利用MAC地址进行广播。

子网

ARP协议请求过程:如果在主机A的ARP表中并没有一致的IP地址和MAC地址对应的项,并将IP地址广播到子网中,如果主机B的IP地址和广播寻找的IP地址一致,主机B就会将自己的MAC地址发送给主机A。

①发送端和接收端的主机不在一个子网中

如果这时候还是利用MAC地址进行广播,那么在整个网络上所有的主机都会收到一份数据,不仅效率很低而且并不安全。所以如果两个主机并不在同一个子网中,主机A默认将数据发送到对应的路由器中,并由路由器发送到Internet中,并进行逻辑寻址。

主机并不在一个子网中

4.数据链路层

数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的结点传送数据报。并且封装数据报构成数据帧,为了标识在物理链路中传输数据的开始与结尾,是唯一一层加入了首部和尾部字段。
基于以上的原理,将数据链路层分为两个子层:
①介质访问控制MAC(multiple access control protocol)
采用分布式算法决定结点如何共享信道,即决策结点何时能传输数据
②逻辑链路控制LLC:对帧进行错误检查,管理子网设备间的链路

MAC地址

以太网规定,连入网络的所有设备,都必须具有"网卡"接口,而MAC地址指的是网络接口卡-NIC中的地址。在帧数据结构首部中的发送者和接收者的信息指的就是主机的MAC地址。

帧的头部长度固定为18个字节,而数据的长度最短为46字节(由于组装帧和传输时延等问题),最长为1500字节(超过最大字节的数据报会被分割成多个帧进行发送)。

5.物理层

物理层,顾名思义,就是对将主机连接起来的物理手段的定义。由于设备之间进行连接的物理手段不同,所以制定了实际传输过程中的一些规定。可以分为以下的几种规程:
①机械特性:接口所用的接线器的形状与尺寸等插件规格
②电气特性:接口电缆各条线上的电压范围
③功能特性:某一点平上的电压所代表的意义
④过程特性:对于不同功能的各种可能事件的出现顺序


大致的总结了一下计算机网络中各层实现的功能和服务,接下来会通过总结平时做的一些题来深入的解析各层。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容

  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,051评论 0 8
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,053评论 6 174
  • 协议基础 协议就是计算机之间通过网络实现通信时实现所达成的一种“约定”,这种约定使得那些由不同厂商的设备,不同的C...
    d9fc24a0c9a9阅读 2,356评论 0 6
  • 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍。 一、 计算机网络体系结构分层 二、 TCP/IP 基础...
    涤生_Woo阅读 64,989评论 38 1,038
  • 当有一天, 你不再急着说 我知道 的时候,才开始 知道 一个 niu'niu 。 否则 ,你所知道的 ,从未对过 。
    牙伯阅读 210评论 0 0