8、计算机网络协议

一、概述

计算机网络协议是有关计算机网络通信的一整套规则,或者说是为完成计算机网络通信而制定的规则、约定和标准。

二、组成

  • 语法
    通信数据和控制信息的结构和格式
  • 语义
    对具体事件发出什么控制消息,完成什么动作以及做出什么样的应答
  • 时序
    对事件实现顺序的详细说明

三、TCP/IP各层以及常用协议介绍

应用层

1、http协议
超文本传输协议,定义了万维网客户端程序(应用程序)怎么向万维网请求万维网文档,以及服务器如何把万维网文档传输给应用程序

  • http协议是明文传输,不安全
  • 默认端口是80
  • 特点
    1.支持客户端/服务器模式(应答模式)
    2.无连接
    每次连接只处理一次请求,服务器在处理完客户端发送的请求并收到服务端的应答之后,就断开连接。采用这种方式可以节省传输资源
    3.无状态
    http协议对于事务处理没有记忆能力
    4.简单快速
    用户在向服务器请求服务时,只需要传送请求方法和路径。由于http协议简单,使得http服务器的程序规模小,因而通信速度快
  • 工作过程
    1.分析请求链接中的url
    2.首先在本机进行DNS解析:查看本地的host文件,查看是否有该域名和对应的IP地址,如果找到,则到步骤4
    3.如果步骤2没有找到,则继续向最近的DNS域名解析服务器请求解析该域名的IP地址,如果没有,则再发送请求到上一级的DNS域名解析服务器进行解析(本地DNS=>权威DNS=>顶级DNS=>13组根DNS)
    4.步骤2、步骤3解析得到请求连接中的域名对应的IP地址
    5.用户地址向这个IP地址的服务器发出请求、建立连接、得到响应回来的资源、释放连接【TCP的三次握手四次挥手】
    总结:发送请求 => DNS域名解析,把域名解析成IP地址 => TCP协议三次握手建立连接拿到资源,四次挥手释放连接
  • 幂等性
    HTTP 幂等方法,是指无论调用多少次都不会有不同结果的 HTTP 方法。不管你调用一次,还是调用一百次,一千次,结果都是相同的。
  • 常用请求方式
    1.get
    传送的参数在消息头中,跟在url后面,可以在浏览器地址栏看得到,不安全,一般用于资源请求;
    由于参数跟在url后面,并且不同浏览器对url的长度有限制,所以get所带的参数的长度是有限制的,具体限制视浏览器而定(IE是2083个字节,可能版本更新会支持更长);
    是幂等性方法,用于获取资源,不管调用多少次接口,结果都不会改变
    2.post
    传送的参数在消息体,在浏览器地址栏看不到,需要抓包才能看到,比较安全;一般用于表单提交;
    传送的参数大小无限制,速度比url慢;
    是非幂等方法,所以用来表示新增操作,但是有时候如果url够长,也会用post方法来进行
    post请求有时候会触发先发送options方法,比如说跨域时,options请求会先进行CORS预检请求。具体可通过请求header看出是否会触发options请求,具体可百度。
    3.options
    它是一种探测性的请求,通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能。
来源:http://www.mamicode.com/info-detail-1196517.html)

2、https协议
安全超文本传输协议,由http+ssl/tls组成。ssl协议是安全套接字层,在http协议的基础上通过SSL/TLS提供加密处理数据、验证对方身份以及数据完整性保护。
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
其工作效率是http的十分之一,所以看情况来使用

  • 默认端口是443

3、ftp协议
文本传输协议

  • 默认端口是20、21

4、smtp协议
简单邮件传输协议,一般发邮件都是这个协议

  • 默认端口是25

5、dns协议
域名解析协议,在传输层提供支持的是UDP协议。

  • 默认端口是53

  • 例如,你要访问“www.apple.com”,就要进行下面的三次查询:

    • 访问根域名服务器,它会告诉你“com”顶级域名服务器的地址;
    • 访问“com”顶级域名服务器,它再告诉你“apple.com”域名服务器的地址;
    • 最后访问“apple.com”域名服务器,就得到了“www.apple.com”的地址。

6、ssh协议
ssh是建立在应用层和传输层基础上的安全协议;
可靠的,专为远程登录会话和其它网络服务提供安全性的协议。利用它可以有效防止远程管理过程中的信息泄漏问题

  • 默认端口是22

7、DHCP协议
动态主机配置协议,用于分配IP地址

  • IP地址和MAC地址区别
    网卡在出厂时拥有唯一的MAC地址
    IP地址是动态分配的,因为之前使用IPV4,IP地址有限,现在启用了IPV6

2、传输层

1、tcp协议
2、udp协议
相关内容较多,下一章写

3、网络层

1、ip协议
ip协议是为了计算机网络互相连接进行通信而设计的协议,是TCP/IP协议簇中最为核心的协议。所有类型的数据都以IP数据报格式进行传输的

  • ip协议提供不可靠、无连接的数据报传输
  • ip地址是动态的:当计算机进行联网的时候,首先会发送请求给最近的IP授权服务器,查找上一次该台计算机所使用的IP地址是否被占用了,如果被占用了,则重新分配一个新的空闲IP地址(现在IPV6开始使用了)
  • 协议号是4

2、icmp协议
网络控制报文协议,一种特殊的网络层协议。可以在应用层直接使用,跳过传输层(windows系统可以在小黑板使用对应命令)

  • ping命令
    格式:ping 域名/IP,更多参数百度
    作用:给指定目标发送4个icmp包,确定该目标的存在和连通性;通常用于检测当前计算机的网络或目标计算机的网络是否正常
  • tracert命令
    格式:tracert域名/IP,更多参数百度
    作用:用来查看从当前计算机到达目标IP的计算机,需要经过多少个节点(路由器)

3、 igmp协议
英特网组管理协议,其它没了解

4、链路层

1、ARP协议
地址解析协议

  • 作用
    把IP地址解析成MAC地址(以太网中,需要知道目标机器的MAC地址才能建立通信)
  • 原理
    1.主机A => 查找自己的ARP缓存是否有目标IP的ARP =>找到就直接和主机B建立连接;
    2.主机A =>查找自己的ARP缓存是否有目标IP的ARP =>找不到,就发送ARP请求=>主机B接收到=>把主机A的IP和ARP记录(ARP项)下来,并响应ARP答复给主机A=>主机A收到响应=>记录主机B的ARP项。
  • 命令arp -a
    查看本机的ARP缓存中的IP地址和MAC地址的列表

2、RARP协议
反向地址转换协议,和arp协议相反,可以将mac地址转换成ip地址

四、端口

1、概念

网络技术中,端口有两种意思

  • 物理意义上的端口,比如:交换机、路由器等用于连接其它网络设备的接口
  • 逻辑意义上的端口,一般指的是TCP/IP协议中的端口,端口号从0-655355,一共2^16个

2、端口分类

  • 公认端口
    从0-1023;紧密绑定于一些服务。通常这些端口的通讯明确表名了某种服务的协议
  • 注册端口
    1024-49151;松散地绑定于一些服务。也就是说有许多服务绑定于这些端口
  • 动态和私有端口
    49152-65525,机器通常从1024开始分配动态端口

3、常用端口

  • 80
    服务:http协议
    分配给web服务器,用于网页浏览

  • 443
    协议:https协议
    提供加密和安全传输的另一种http,用于网页浏览

  • 8080
    访问某个开启了8080端口的网站时,需要在域名/ip后面加上:8080,用于网页浏览
  • 20、21
    服务:ftp协议
    用于文件上传和下载

  • 22
    服务:SSH协议
    SSH协议是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议

  • 23
    服务:Telnet协议
    Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式
    对应的命令是telnet,也可用于查看目标IP端口是否开启:telnet IP地址 端口

  • 25
    服务:SMTP协议
    邮件传输协议

五、一些概念

1、访问网站的本质

本质上来说,访问任何一个网站,都是通过目标服务器的IP和端口号的组合来实现访问的;比如:http://www.xxx.com:xx

  • 步骤
    1、用户在浏览器输入:www.baidu.com
    2、程序处理:http://www.baidu.com/
    3、经过DNS解析,域名解析成IP,实际访问:http://180.97.33.108:80
    DNS解析过程:浏览器缓存->操作系统缓存->hosts文件->dns

2、长连接和短连接

  • 短连接
    199X年时所使用的技术,发送一次请求,获取整个请求目标(网页)的一部分资源,发送多次请求后,获取到全部资源。
    比如说:第一次请求,获取到html资源,然后该网页还有CSS,JS等资源,所以继续发送请求来获取这些,直到全部获取完毕。【每一次发送的请求都是短连接,运用的是TCP协议;后来的网站过于复杂,所以弃用,因为TCP协议的连接和释放要经过三次握手和四次挥手,不适合这样频繁地发送请求】
  • 长连接
    现在使用的技术(Keep-Live信息段);客户端发送请求后,先把html文件获取到,但如果还有CSS,JS等资源,则不断开连接,继续获取,直到获取完毕后,才断开连接【TCP协议】
    比如说websocket协议也是长连接协议;

3、域名的好处

IP地址比较难记,域名便于记忆

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 229,565评论 6 539
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,115评论 3 423
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 177,577评论 0 382
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,514评论 1 316
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,234评论 6 410
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,621评论 1 326
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,641评论 3 444
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,822评论 0 289
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,380评论 1 335
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,128评论 3 356
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,319评论 1 371
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,879评论 5 362
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,548评论 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,970评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,229评论 1 291
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,048评论 3 397
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,285评论 2 376

推荐阅读更多精彩内容