tcp服务器收发信号,网络通信的整体流程

1.首先,用户输入网址

2.浏览器解析网址,生成HTTP消息并转交给Socket库

3.Socket库将收到的HTTP消息作为数据转交给协议栈

4.TCP按照网络包的长度对数据进行拆分,在每个包前面加上TCP头部并且转交给IP

5.IP在TCP包前面加上IP头部,然后查询MAC地址并加上MAC头部,然后将包转交给网卡驱动(MAC地址为最近的路由器的MAC地址,IP地址为Web服务器的IP地址)

6.网卡驱动收到IP发来的包,将其转交给网卡并发出发送指令

7.网卡检查以太网的可发送状态,将包转换成电信号通过双绞线发送出去

8.信号通过双绞线到达集线器

9.集线器将信号广播到所有端口,这样信号便到达交换机

10.交换机根据收到的包的接收方MAC地址查询自身的地址表输出端口,并将包转发到输出端口

11.互联网接入路由器根据收到的包的接收方IP地址查询自身的地址表输出端口,并将包转发到输出端口

12.互联网接入路由器输出到互联网的包带有PPPoE头部和PPP头部

13.ADSL Modem将收到的包拆分成ATM信元

14.ADSL Modem将拆分后的ATM信元转换成电信号通过电话线发送出去

15.ADSL Modem发送的信号经过电线杆上的电话线到达电话局的DSLAM(局端多路Modem)

16.DSLAM将收到的电信号还原成ATM信元并发送给BAS

17.BAS将ATM信元还原成网络包,根据接收方IP地址进行转发

18.BAS转发的包被加上L2TP头部并通过隧道

19.网络包到达位于隧道出口的隧道路由器,L2TP头部和PPP头部被丢弃,通过互联网流向Web服务器

20.服务器端的局域网中有防火墙,对进入的包进行检查,判断是否允许通过(这时的接收方MAC地址为缓存服务器或者Web服务器的MAC地址)

21.Web服务器前面如果有缓存服务器,会拦截通过防火墙的包。如果用户请求的页面已经缓存在服务器上,则代替服务器向用户返回页面数据

22.如果请求的页面没有被缓存,缓存服务器会将请求转发给Web服务器(此时接收方MAC地址为Web服务器的MAC地址)

23.Web服务器收到包后,网卡和网卡驱动会接收这个包并转交给协议栈

24.协议栈依次检查IP头部和TCP头部,如果没有问题则取出HTTP消息的数据块进行组装

25.HTTP消息恢复成原始状态,然后通过Socket库转交给Web服务器

26.Web服务器分析HTTP消息的内容,并根据请求内容将读取的数据返回给客户端

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值