计算机网络(三):一个完整的访问网页的过程

首先明确:建立一个完整的socket连接需要的5个参数,分别是:(本机ip,本机端口号,使用的网络协议,要访问的机器的ip,要访问机器的端口号)

假设访问百度,输入www.baidu.com,然后回车,此时要确定的是百度的ip地址,使用dns协议,向dns服务器发送数据包(dns服务器开启的是53端口),DNS服务器返回给我们百度的ip地址。利用子网掩码判断要访问的ip是否和本地主机是同一个网段,假设要访问的ip跟我们不是同一个网段,那么向百度发送数据包必须通过网关转发
接下来通过应用层,浏览器访问使用的是http协议,构造一个http数据包。假定其长度为4960个字节,他会被嵌在tcp数据包之中。
然后传输层Tcp数据包需要设置端口,接收方的默认端口是80,本机的端口是一个随机生成的1024到65535之间的整数。假定为8888。Tcp数据包的包头长度为20字节,加上http数据包,为4980字节。
然后经过网络层,tcp数据包再嵌入ip数据包,ip数据包需设置双方ip【已知】。Ip数据包的头长度为20字节,总共是5000字节。IP数据包经过网关转发,进入以太网。
接下来到数据链路层。Ip数据包嵌入以太网数据包,以太网数据包需设置双方mac地址【已知】,接收方mac地址即网关mac地址【通过arp协议得到】。以太网数据包的数据部分最大为1500字节,因此ip数据包必须分包,因为每个包都有自己的ip标头,因此四个包的ip数据包的长度分别是1500,1500,1500,560。
然后是物理层。物理线路则只负责该数据以bit为单位从主机传输到下一个目的地。下一个目的地接受到数据后,从物理层得到数据然后经过逐层的解包到链路层到网络层,然后开始上述的处理,在经网络层、链路层、物理层将数据封装好继续传往下一个地址。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值