文章目录
- 一. 计算机网络体系结构
- 二.网络体系结构
-
- 1.应用层
- 2.运输层
- 3.网络层
- 4.数据链路层
- 5.物理层
- 6.TCP/IP 协议族
- 7.TCP
- 三.HTTP和HTTPS
- 四.加密
一. 计算机网络体系结构
在计算机网络的基本概念中,分层次的体系结构是 基本的。计算机网络体系结
构的抽象概念较多,在学习时要多思考。这些概念对后面的学习很有帮助。
1.网络协议是什么?
在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则, 比如交换数据的格式、是否需要发送一个应答信息。这些规则被称为网络协议。
2.网络模型
- 四层协议,五层协议和七层协议的关系如下:
- TCP/IP是一个四层的体系结构,主要包括:应用层、运输层、网际层和网络接 口层。
- 五层协议的体系结构主要包括:应用层、运输层、网络层,数据链路层和物理层。
- OSI七层协议模型主要包括是:应用层(Application)、表示层 (Presentation)、会话层(Session)、运输层(Transport)、网络层 (Network)、数据链路层(Data Link)、物理层(Physical)。
注:五层协议的体系结构只是为了介绍网络原理而设计的,实际应用还是 TCP/IP 四层体系结构。
二.网络体系结构
1.应用层
应用层( application-layer )的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和 交互的规则。
对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS(50),支持万维网应用的 HTTP(80) 协议,支持电子邮件的 SMTP 协议等 等。
应用层交互的数据单元称为报文。
2.运输层
由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能:
复用,就是多个应用层进程可同时使用下面运输层的服务。
分用,就是把收到的信息分别交付给上面应用层中相应的进程。
运输层(transport layer)的主要任务就是负责向两台主机进程之间的通信提供通 用的数据传输服务。应用进程利用该服务传送应用层报文。 运输层主要使用一下两种协议
2.1 tcp和udp的区别
- 传输控制协议-TCP:提供面向连接的,可靠的数据传输服务。
- 用户数据协议-UDP:提供无连接的,尽大努力的数据传输服务(不 保证数据传输的可靠性)。
UDP | TCP | |
---|---|---|
是否连接 | 无连接 | 面向连接 |
是否可靠 | 不可靠传输,不使用流量控制和拥塞控制 | 可靠传输,使用流量控制和拥塞控 制 |
连接对象 个数 | 支持一对 一,一对 多,多对 一和多对 多交互通 信 | 只能是一 对一通信 |
传输方式 | 面向报文 | 面向字节流 |
首部开销 | 首部开销 小,仅8字 节 | 首部小20字节, 大60字节 |
场景 | 适用于实 时应用 (IP电 话、视频会议、直 播等) | 适用于要 求可靠传 输的应 用,例如 文件传输 |
每一个应用层(TCP/IP参考模型的最高层)协议一般都会使用到两个传输层协 议之一:
运行在TCP协议上的协议:
- HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏 览。 端口:80
- HTTPS(HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。 端口:443
- FTP(File Transfer Protocol,文件传输协议),用于文件传输。 20用于传输数据,21用于传输控制信息
- POP3(Post Office Protocol, version 3,邮局协议),收邮件用。
- SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子 邮件。
- TELNET(Teletype over the Network,网络电传),通过一个终端 (terminal)登陆到网络。 端口:23
- SSH(Secure Shell,用于替代安全性差的TELNET), 端口:22
- 用于加密安全登陆用。
运行在UDP协议上的协议:
- BOOTP(Boot Protocol,启动协议),应用于无盘设备。
- NTP(Network Time Protocol,网络时间协议),用于网络同步。
- DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态 配置IP地址。
- TFTP Trivial File Transfer Protocol (简单文件传输协议) 69
运行在TCP和UDP协议上:
- DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等 工作。 端口:53
从主机到本地dns是递归的,从本地dns获得最终结果像跟服务器,权威服务器等都是迭代查询
2.2 tcp和udp的应用场景
UDP 一般用于即时通信,比如: 语音、 视频 、直播等等。这些场景对传输数据的准确性要求不是特别高,比如你看视频即使少个一两帧,实际给人的感觉区别也不大。
TCP 用于对传输准确性要求特别高的场景,比如文件传输、发送和接收邮件、远程登录等等。
3.网络层
网络层的两个主要任务,分组交换和路由选择,传输的数据单位是IP数据报
网络层的任务就是选择合适的网间路由和交换结点,确保计算机通信的数据及时 传送。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称数据报。
互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连 接起来的。互联网使用的网络层协议是无连接的网际协议(Intert Prococol) 和许多路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。
4.数据链路层
数据链路层(data link layer)通常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。
在物理层上所传送的数据单位是帧。
在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装 成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息 (如同步信息,地址信息,差错控制等)。
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特 结束。
每一组数据报分为报头和数据两部分。
head | data
head包含:(固定18个字节)
发送者/源地址,6个字节
接收者/目标地址,6个字节
数据类型,6个字节
data包含:(最短46字节,最长1500字节)
数据包的具体内容
head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送。
一般的web应用的通信传输流是这样的:
发送端在层与层之间传输数据时,每经过一层时会被打上一个该层所属的首部信 息。反之,接收端在层与层之间传输数据时,每经过一层时会把对应的首部信息 去除。
在一个局域网之内计算机是通过广播+以太网协议进行通信的。
5.物理层
在物理层上所传送的数据单位是比特。
物理层(physical layer)的作用是实现相 邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说, 这个电路好像是看不见的。
6.TCP/IP 协议族
在互联网使用的各种协议中重要和著名的就是 TCP/IP 两个协议。现在人们 经常提到的 TCP/IP 并不一定是单指 TCP 和 IP 这两个具体的协议,而往往是表 示互联网所使用的整个 TCP/IP 协议族。
互联网协议套件(英语:Internet Protocol Suite,缩写IPS)是一个网络通讯模型, 以及一整个网络传输协议家族,为网际网络的基础通讯架构。它常被通称为TCP/IP协 议族(英语:TCP/IP Pro