首页
社区
课程
招聘
[原创]理解网络基础
发表于: 2019-7-6 14:38 6281

[原创]理解网络基础

2019-7-6 14:38
6281

最近在看雪上好像没有发现有网络方面的基础知识,所以我来补充一下,以下是基础的东西,从理论到实践,再到逆向,希望对这方面知识欠缺的朋友能得到一点点的帮助。

  每个网络应用都是基于客户端-服务器模型的。采用这个模型,一个应用是由一个服务器进程和一个或者多个客户端进程组成。就比如,一个Web服务器管理者一组磁盘文件,他会代表客户端进行检索和执行,相应的FTP也是如此。

  客户端-服务器模型中的基本操作是事务(transaction)。一个客户端-服务器事务由以下四步组成。

(1)     当一个客户端需要服务时,它向服务器发送一个请求,发起一个事务。例如,当Web浏览器需要一个文件时,他就发送一个请求给Web服务器。

(2)     服务器收到请求以后,并以适当的方式进行操作。例如,当Web服务器收到请求以后,他就读取一个文件。

(3)     服务器给客户端发送一个响应,并等待下一个请求。例如。Web服务器将文件发送回客户端。

(4)     客户端收到相应并处理它。例如,当Web浏览器收到来自服务器的文件,就在屏幕上显示它。


  需要注意的是,客户端和服务器是进程,而不是通常提到的机器或者主机。一台主机可以同时运行许多不同的客户端和服务器,而且一个客户端和服务器的事务可以在同一台或者不同的主机上。

  了解完客户端-服务器我觉得有必要再了解一下网络部分,这部分只是个简单的说明,可以说是扫盲了,来吧大家跟着我继续往下看。

  对主机来说网络只是一种I/O设备,在物理上而言,网络是一个按照地理远近组成的层次系统。最低层是LAN,也就是局域网,在层次更高级别中,多个不兼容的局域网可以通过叫做路由器的东西连接起来,组成一个internet。每台路由器对于它算连接到的每个网络都有一个端口。路由器也能连接告诉点到点连接,这就是WAN,也就是广域网。

这些东西其实就在我们身边,下图是我自己家里TP-link的接口:


在这里我们可以很清晰的看到LAN口有多个,而WAN口只有一个。

  例如,一个客户端运行在主机A上,主机A与LAN1相连,它发送一串数据到运行在主机B上的服务器端,主机B连接在LAN2上。就这么一个简单的过程,他涉及到了8个步骤:

(1)     主机A上的客户端进行一个系统调用,从客户端的虚拟地址空间复制数据到内核缓冲区中。

(2)     主机A上的协议软件通过在数据前附加互联网络包头和LAN1帧头,创建了一个LAN1帧。互联网包头寻址到互联网络主机B。LAN1帧头寻址到路由器,然后穿个适配器。

(3)     LAN1适配器复制该帧到网络。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-7-6 14:40 被一谷米粒编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (9)
雪    币: 740
活跃值: (1389)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
2
一楼
2019-7-6 15:18
0
雪    币: 494
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
老哥,貌似好多图挂了。
2019-7-6 18:24
0
雪    币: 775
活跃值: (2292)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
谢谢分享
2019-7-6 23:46
0
雪    币: 6140
活跃值: (3602)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢分享
2019-7-9 11:17
0
雪    币: 1140
活跃值: (102)
能力值: ( LV4,RANK:48 )
在线值:
发帖
回帖
粉丝
6
2019-7-10 09:02
0
雪    币: 188
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
哈哈还真是重头来
2019-7-12 16:39
0
雪    币: 535
活跃值: (647)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
呃,能不能传下demo的源码
2020-6-11 14:34
0
雪    币: 259
活跃值: (283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
非常不错
2020-6-11 16:12
0
雪    币: 259
活跃值: (283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
如果传送的目标不在本地局域网 而是另外一个通过wan端口链接的局域网内 怎么传递呢
2020-6-11 16:12
0
游客
登录 | 注册 方可回帖
返回
//