1. 协议的概念

(1)计算机网络中实现通信必须有一些约定。如对速率、传输代码、代码结构、传输控制步骤和出错控制等约定,这些约定即被称为通信协议

(2)在两个节点之间要成功地进行通信,两个节点之间必须约定使用共同的“语言”,这些被通信各方共同遵守的约定、语言、规则被称为协议

(3)在Internet中,最为通用的网络协议是TCP/IP协议。

2. 网络分层模型

(1)应用层:提供用户接口,特指能够发起网络通信的应用程序,如客户端程序、QQ、MSN、浏览器等,服务器程序有Web服务器、邮件服务器、流媒体服务器等。

(2)表示层:使用何种编码方式。比如要传输的数据使用ASCII编码、Unicode编码还是二进制文件,是否要加密和压缩。发送端和接收端程序必须使用相同的编码方式,才能正确显示,否则就产生乱码。

(3)会话层:通信的应用程序之间建立、给维护和释放面向用户的连接。通信的应用程序之间建立会话,需要传输层建立1个或多个连接。

(4)传输层:负责在通信的两个计算机之间建立连接,实现可靠或不可靠的数据通信,能够实现发送端和接收端的丢包重传,流量控制。

(5)网络层:路由器查看数据包目标IP地址,根据路由表为数据包选择路径。路由表中的条目可以人工添加(静态路由),也可以动态生成(动态路由)

(6)数据链路层:不同的网络类型,发送数据的机制不同,数据链路层就是将数据包封装成能够在不同网络传输的帧,能够进行差错检查。但不纠错,检测出错误丢掉该帧。

(7)物理层:该层规定了网络设备接口标准、电压标准。尽可能地通过频分复用、时分复用技术在通信链路上更快的传输数据

3. TCP/IP协议族

(1)TCP/IP实际是一个一起工作的通信家族,为网际数据通信提供通路。

(2)TCP/IP协议族大体上分为三个部分

  ①Internet协议(IP):

  ②传输控制协议(TCP)和用户数据报文协议(UDP)

  ③处理TCP和UDP之上的一组协议专门开发的应用程序。它们包括:远程登录(telnet)、文件传送协议(ftp)、域名服务(dns)和简单的邮件传送程序(smtp)等许多协议。

(3)网络层协议

  ①internet协议(IP):该协议设计成互联分组交换通信,以形成一个网际通信环境,它负责在源主机和目的主机之间传输来自较高层次软件的秋为数据报文的数据块,它在源和目标之间提供非连接型传递服务。

  ②网际控制报文协议(ICMP):icmp实际上并不是IP层部分,但直接同IP层一起工作,报告网络上的某些出错情况,允许网际路由器传输差错信息或测试报文。

  ③地址识别协议(ARP):实际上也不是网络层的部分,它处于IP和数据链路层之间,它是在32位IP地址和48位局域网物理地址之间执行翻译的协议。

(4)传输层协议

  ①传输控制协议(TCP)可靠的、面向连接的传输层服务,主要功能有:监听输入对话建立请求、请求别一网络站点对话、可靠的发送和接收数据和适度的关闭对话等。

  ②用户数据报文协议(UDP)提供不可靠的、非连接型传输层服务。它允许在源和目标主机之间传递数据而不必在传递数据之前建立对话。同时也不提供TCP使用的端对端差错校验功能。主要用于那些非连接型的应用。如名字服务、网络管理、视频点播和网络会议等。

(5)应用层协议

  ①Telnet:远程登录 ②FTP和TFTP:文件传送协议;

  ③SMTP:简单文件传送协议 ④DNS:域名服务

第12章 网络基础(1)_网络分层和TCP/IP协议族的更多相关文章

  1. 网络基础篇(一)--TCP/IP协议族

    TCP/IP协议族是一个分层,多协议通信体系. 1 TCP/IP协议族体系结构 TCP/IP协议族自底而上分为四层: 数据链路层, 网络层, 传输层和应用层. 1.1 数据链路层 实现网卡接口的网络驱 ...

  2. Android网络编程系列 一 TCP/IP协议族

    在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...

  3. 第一章 了解TCP/IP协议族

    第一章 了解TCP/IP协议族 1.1 TCP/IP协议族体系结构以及主要协议 IP和TCP协议对编写程序具有最直接的影响,后面的章节会详细的讲到. TCP/IP的体系结构有应用层,传输层,网络层,数 ...

  4. 重识TCP/IP协议族与HTTP基础

    不忘初心 砥砺前行, Tomorrow Is Another Day ! 本文概要: TCP/IP协议族的网络分层 TCP三次握手四次挥手 Http简介 报文结构 Http的请求方法及状态码 常用的H ...

  5. 网络编程基础之C/S架构和TCP/IP协议

    一.何谓C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),既然我们的的标题是网络编程基础, 那我们就一起来学习怎样写一个C/S架构的软件,实现服务端与客户端软件基于网 ...

  6. Android网络编程系列 一 TCP/IP协议族之网际层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 网际层包括:IP.ICMP.IGMP 以及处在网际层实际工作在链路层的 ARP 和 RARP等等协议. 1.IP协议 互联网 ...

  7. Android网络编程系列 一 TCP/IP协议族之链路层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 数据链路层有三个目的: 为IP模块发送和 接收IP数据报. 为ARP模块发送ARP请求和接收ARP应答. 为RARP发送RA ...

  8. Tcp/Ip协议族简单解读及网络数据包/报/帧数据格式及封装及解包;

    http://www.creseek.cn/products-install/install_on_bsd_linux/ 中文检索 离线cloudera ecosystem components: h ...

  9. Android网络编程系列 一 TCP/IP协议族之传输层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 传输层中有TCP协议与UDP协议. 1.UDP介绍 UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,U ...

随机推荐

  1. Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(一)

    package com.android.filebrowser;   import java.io.*; import java.net.*;   public class FileEncodingD ...

  2. Swift中正则使用正则的几种方式

    之前记录了用正则验证邮箱地址   下面我也记录一下用其它方法使用正则 如下,查询字符串内是否有大写字母,注意rangeOfString方法的第二个参数是.RegularExpressionSearch ...

  3. 玩转TypeScript(5)--环境声明

    环境声明为TypeScript引入了一个作用域,但是对于产生的javaScript程序不会有任何影响.程序员可以使用环境声明来告之TypeScript,一些其他的组将将提供变量的声明.比如,默认情况下 ...

  4. LOJ2542. 「PKUWC2018」随机游走【概率期望DP+Min-Max容斥(最值反演)】

    题面 思路 我们可以把到每个点的期望步数算出来取max?但是直接算显然是不行的 那就可以用Min-Max来容斥一下 设\(g_{s}\)是从x到s中任意一个点的最小步数 设\(f_{s}\)是从x到s ...

  5. hdu2080-2081

    hdu2080 计算两点关于原点夹角,数学 #include<stdio.h> #include<math.h> double len(double x1,double y1, ...

  6. gRPC-Web is going GA

    原文: https://www.cncf.io/blog/2018/10/24/grpc-web-is-going-ga On behalf of the Cloud Native Computing ...

  7. 【转】每天一个linux命令(13):less 命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/11/05/2754477.html less 工具也是对文件或其它输出进行分页显示的工具,应该说是lin ...

  8. win10下ASP.NET Core 2.0部署环境搭建(转)

    此文用于记录在win10环境下,新建的Asp.net Core 2.0 Web应用项目如何运行在IIS上 一.运行环境 操作系统: Window10 家庭中文版 版本 10.0.15063 版本 15 ...

  9. java 物理资源回收 finally与try

    java垃圾回收机制不会回收任何物理资源(磁盘文件.数据库连接.网络连接),垃圾回收机制只能回收堆内存中对象所占用的内存. 方法一使用finally块,在finally块中写入资源回收代码,如下: p ...

  10. Anglarjs 工具方法

    Angularjs 常用方法 1. isArray使用 效果图如下,结果为true 2.uppercase使用 $scope.name = "zhangsan"; $scope.n ...