计算机网络学习4:常见的计算机网络体系结构

简介: 分别有OSI体系结构、TCP/IP体系结构

计算机网络体系结构


常见的计算机网络体系结构

分别有OSI体系结构、TCP/IP体系结构

147d591496efcd72e33de754f17cdd7c_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_17,color_FFFFFF,t_70,g_se,x_16.png


OSI的层次划分不是很合理,功能重复出现了。


因为TCP/IP体系结构在网络层使用的是IP协议,IP协议也叫作网际协议,所以 叫作 网际层。

6bec0d047f604abb65e0b410d9b59d24_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_17,color_FFFFFF,t_70,g_se,x_16.png

路由器一般只有网际层和网络接口层。


TCP/IP体系结构的网络接口层并没有规定什么具体的内容。这样做的目的是互连全世界不同的网络接口,如有线以太网接口,无线局域网的wifi接口等等。


IP协议是网际层的核心协议。


TCP和UDP是运输层的核心协议。


应用层则包含了很多网络协议。

53871eba6f3c51fe12310b8970cf4577_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png


IP协议可以将不同的网络接口互连,并且向上面的TCP和UDP协议提供网络互连服务。TCP向应用层的相应协议提供可靠传输的服务。UDP协议则是提供不可靠的传输服务。

b57d1471558e005f1edcdbc06d54d67a_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_10,color_FFFFFF,t_70,g_se,x_16.png


TCP和IP协议是两个很重要的协议,常称为TCP IP协议簇。学习计网时,综合OS和TCPIP的优点,有一份五层原理体系结构。

06d0dec64ddb5b47f8b851ab282ef613_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_8,color_FFFFFF,t_70,g_se,x_16.png


计算机网络体系结构分层的必要性

分层可以将庞大而复杂的问题,转化为若干较小的问题,就可以易于处理等。


计算机网络主要面临的问题:


首先是物理层:

4d4511abc0eeb06867f2a377a1a28b2e_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

严格来说,传输媒体不属于物理层。计算机网络的传输信号不是方波信号,只是为了方便理解。


假设以上,可以实现主机发送信号0和1了。

dce6dbff83f461f584dc37895bb75ebb_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png



假设A要给C发信号,但是全部电脑都接收到了,主机C如何知道是发给自己的呢。BDE又如何知道不是发送给自己的,要解决呢。


这就是 如何标识网络中的各个主机(主机编址问题,如MAC地址。)


主机在发送数据时,要给数据发送目的地址。


但是又引出了第二个问题:如何从信号标识的一连串比特流中区分出地址和数据呢。


也就是需要解决分组的封装格式问题。


对于总线型的网络,还会出现碰撞的问题。

(某个时刻是空闲的,但是突然多台主机发送数据),所以协调主机也需要考虑。


以上的问题全部规划到 数据链路层。

4de223902511a1fa37bcae5ae60b1801_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

只要解决物理层和数据链路层就可以解决分组在网络上传输了,但仅仅是解决简单的数据传输。


现在有多个网络,面临的问题如下:

18d0fec27fca4772bbd1b7d6507f26b9_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

但是也会有应用层的问题。

dd2a2938cb13fdd859e008591c94bef5_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png


在此基础上,定制各个协议来解决应用进程之间的交互。

282827b27942f06fe9d56e87693e8b77_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

总结如下:

a0cc64195c9c6a059f14dffe6865a6d9_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

分层思想举例

假设此时电脑需要访问一个页面服务器,那么过程如下,注意此时是 应用进程基于网络的通信。

d4bbec2d33aa2b4a02210be8049879bd_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png


首先应用层封装好一个http报文。


应用层将报文给运输层,运输层添加一个TCP首部。

006d696d6dad1ab56a218f115ed00daa_6d4425ac169a4a9d8b2a5d397489439c.png

网络层又给数据报加一个IP首部形成IP数据报。

这个时候就可以被路由器转发了。

9996fe1ac20ad8c436e70968776a0a63_8c51df87a7534efd8dfd8b8508b7915f.png

数据链路层又加一个首部和尾部,形成了帧。

7d5730c21bf943b3ee0dd6c0cde45aee_16af58c9559d4bd698ea9c0a810e4a4c.png

假设上述的N1网络是以太网,那么以太网的首部格式为:

97c22e6ffe87ba3f73598bcde0cf7b26_d9156a8234a842c59c3918f70329eb43.png

首部这么做是为了使数据报能在链路上或者网络上传输。能够到达目的地地址。


尾部的格式如下:是为了让目的主机检查收到的帧是否有误码。

11ddbd7c2cbc723e3239fa7ba50187fe_3b74a1f374af4b579a401d0450a81a5f.png

然后物理层将这个帧看作是比特流。N1是以太网还会增加前导码。


路由器收到之后,首先将比特流的前导码给去掉,然后交付给链路层。(交付的是帧)。然后去掉帧的首部和尾部之后,交付给网络层,这实际上是IP数据报。


网络层解析首部IP,查出目的地址,然后查找自身的路由表。确定转发端口以便转发。然后再往下传。


先数据链路层加一个首部和尾部,然后物理层看做比特流,由于N2也是以太网,加一个前导码。


到了服务器,也是一层一层拆,然后向上交付(类似发送的逆过程)。然后服务器解析HTTP报文,然后返回一个响应报文,然后过程如前面说的那样。

fa987acc2a6589fa6c0cc08179c4a1d7_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png


专用术语

专用术语来自OSI的七层体系结构,但也适用于其他两个体系结构结构。


主要分成三个:实体、协议、服务。

fd6caaa861c5276b49249f431c09f8d4_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

称为逻辑通信是只用考虑这一层的对等通信,不用考虑其他层。是理想中的。

e674c63a72ed1b81594e070dd80c6285_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

b5d8ba04b0185c5d8c2bb8fe727c24db_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png


语义:定义收发双方要完成的操作。


如HTTP的GET请求报文需要完成什么过程操作。

0add98a7c423323fb7ecb4098f2ac720_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

服务:

273510a74263a7f75309abfc724afdd7_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

4651462c4558fd0f5a946d55887e2262_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png

a1cae927dbe6648ee550dd0158b738d6_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rSy55qE5a2m5Lmg56yU6K6w,size_20,color_FFFFFF,t_70,g_se,x_16.png


相关文章
|
1月前
|
监控 网络协议 Linux
网络学习
网络学习
132 68
|
4天前
|
网络协议 网络架构
网络协议介绍与学习
网络协议介绍与学习
14 4
|
4天前
|
网络协议 网络安全 数据安全/隐私保护
网络基础知识学习
如果你打算深入学习网络技术,建议从上述基础知识入手,并逐渐扩展到更高级的主题,如网络编程、网络安全、网络管理等。同时,实践是学习网络技术的关键,可以通过搭建自己的小型网络环境来进行实验和探索。
9 2
|
9天前
|
存储 网络协议 网络性能优化
一文详细理解计算机网络体系结构(考试和面试必备)
这篇文章提供了C++基础知识的快速概述,包括C++的特点、面向对象设计、组成部分、标准、学习建议、应用领域、源文件、编译器、类与对象、编译执行步骤、分号与块、标识符、基本数据类型、typedef、枚举类型、变量定义与声明等。
19 0
一文详细理解计算机网络体系结构(考试和面试必备)
|
1月前
|
网络协议 安全 网络安全
网络基础知识学习
【9月更文挑战第1天】
47 0
|
2月前
|
前端开发 算法 网络协议
如何学习计算机基础知识,打好前端和网络安全的基础
如何学习计算机基础知识,打好前端和网络安全的基础
37 4
|
1月前
|
安全 Linux 网络安全
网络安全学习
【9月更文挑战第1天】
52 0
|
2月前
|
网络协议 视频直播 SDN
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
42 1
|
2月前
|
网络协议
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
45 0
下一篇
无影云桌面