Fork me on GitHub

网络基础

什么是互联网协议及为何要有互联网协议

 

互联网协议

互联网的本质就是一系列网络协议,互联网协议就是让孤立的计算机能够互相沟通联系。英语成为世界上所有人通信的统一标准,如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为'互联网协议'(Internet Protocol Suite)

为何要有互联网协议

能让孤立的计算机之间互相联系,方便信息的交流和传输,所以要有互联网协议

 

osi五层模型

  • 物理层:(Physical Layer)物理层即为将电脑连接起来的光缆,电线等。把电脑用物理手段连接起来。主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0。
  • 数据链路层:(Data Link Layer)是OSI参考模型第二层,位于物理层与网络层之间。在广播式多路访问链路中(局域网),由于可能存在介质争用,它还可以细分成介质访问控制(MAC)子层和逻辑链路控制(LLC)子层,介质访问控制(MAC)子层专职处理介质访问的争用与冲突问题  定义了电信号的分组方式

  • 网络层:(Network Layer)是OSI模型中的第三层(TCP/IP模型中的网际层)。网络层提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力。由于TCP/IP协议体系中的网络层功能由IP协议规定和实现,故又称IP层。
  • 传输层:(transport layer)互联网协议包与开放系统互连(OSI)网络堆栈中协议的分层结构中的方法的一个概念划分。该层的协议为应用进程提供端到端的通信服务。[1] 它提供面向连接的数据流支持、可靠性、流量控制、多路复用等服务。
  • 应用层:(Application layer)是七层OSI模型的第七层。应用层直接和应用程序接口并提供常见的网络应用服务。应用层也向第六层表示层发出请求

用户上网流程

1.本机获取

  • 本机的IP地址:192.168.1.100
  • 子网掩码:255.255.255.0
  • 网关的IP地址:192.168.1.1
  • DNS的IP地址:8.8.8.8

2.打开浏览器,想要访问Google,在地址栏输入了网址:www.google.com。

www.google.com.
.根域
com 顶级域
google 二级域
www 主机名

先通过本机的dns解析--》然后13台跟服务器 -->跟服务告诉本地需要找--》com dns 服务器---》
递归查询
递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
迭代查询
DNS 服务器另外一种查询方式为迭代查询,DNS 服务器会向客户机提供其他能够解析查询请求的DNS 服务器地址,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果
为止。

3.dns协议(基于udp协议)

4.HTTP部分

6 IP协议

 

然后,TCP数据包再嵌入IP数据包。IP数据包需要设置双方的IP地址,这是已知的,发送方是192.168.1.100(本机),接收方是172.194.72.105(Google)。

IP数据包的标头长度为20字节,加上嵌入的TCP数据包,总长度变为5000字节。

 

7 以太网协议

 

最后,IP数据包嵌入以太网数据包。以太网数据包需要设置双方的MAC地址,发送方为本机的网卡MAC地址,接收方为网关192.168.1.1的MAC地址(通过ARP协议得到)。

以太网数据包的数据部分,最大长度为1500字节,而现在的IP数据包长度为5000字节。因此,IP数据包必须分割成四个包。因为每个包都有自己的IP标头(20字节),所以四个包的IP数据包的长度分别为1500、1500、1500、560。

8 服务器端响应

 

经过多个网关的转发,Google的服务器172.194.72.105,收到了这四个以太网数据包。

根据IP标头的序号,Google将四个包拼起来,取出完整的TCP数据包,然后读出里面的”HTTP请求”,接着做出”HTTP响应”,再用TCP协议发回来。

本机收到HTTP响应以后,就可以将网页显示出来,完成一次网络通信

9 把ip与子网掩码进行与运算 判断是否在一个网段中,IP结果相同就是在一个网段中 否则不是

 

http --->以什么协议封装自己的程序(应用层)---》TCP 源端口,目标端口 80---》IP 协议 详细信息里面 源ip 目标ip---》ethernet-->

1. 网络=物理连接介质+互联网协议

2.互联网协议就是一系列的标准

3.五层协议

物理层:传递电信号

数据链路层:电信号的分组,ethernet   数据包/帧 以广播的工作方式 mac   arp协议 

网络层:ip 协议 标识一个子网 

传输层:tcp/udp 基于端口工作的协议,标识一台机器上唯一一个应用程序

应用层:HTTP 用户自己定义的协议

 

sock层位于应用层和传输层中间 把tcp/udp封装起来 为开发人员提供简单接口

 

 

三次握手四次白白

c->s
syn=1 seq=x

s->c
ack=1 seq=x+1

syn=1 seq=y

c->s
ack=1 seq=y+1

posted on 2017-05-22 15:09  vmaze  阅读(166)  评论(0编辑  收藏  举报

导航