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. CMS垃圾回收

    最近在学习JVM和GC调优,今天总结下CMS的一些特点和要点,让我们先简单的看下整个堆年轻代和年老代的垃圾收集器组合(以下配合java8完美支持,其他版本可能稍有不同),其中标红线的则是我们今天要着重 ...

  2. Python decode和encody

    s = "我今天非常的困" bs = s.encode("utf-8")# 把字符串转化成utf-8格式bytes # bytes 不是给人看的, 给机器用的 ...

  3. input 文件上传

    <button class="blueButton fileinput-button" style="width:165px;" @click=" ...

  4. ubuntu16安装mysql图形界面

    之前在windows用sqlyog当做图形界面连接mysql,现在在ubuntu上需要连接测试环境的数据库,需要安装mysql图形界面.安装只需要条命令: sudo apt-get update su ...

  5. ZooKeeper 集群环境搭建 (本机3个节点)

    --------------------------------------------------------1.建立目录server1server1/dataDirserver1/dataLogD ...

  6. Windows 服务器配置、运行、图文流程(新手必备!) - IIS建站配置一条龙

    Window 2008 服务器的配置教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...

  7. HDU 2094:产生冠军(拓扑排序)

    产生冠军 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  8. map和jsonObject 这2中数据结构之间转换

    前台写json直接是:var array = [ ] ; 调用方法:array[index],若是对象,再[“key”] var obj = {''a'':123 , "b":&q ...

  9. graphql elasticsearch 集成试用

    graphql 是很方便的api 查询语言,elasticsearch 可以方便的进行全文检索的应用开发 有一个方便的npm 包graphql-compose-elasticsearch 可以进行es ...

  10. Upgrade to or Install Cinnamon 2.4 in Ubuntu

    http://www.omgubuntu.co.uk/2014/11/install-cinnamon-2-4-ubuntu-14-04-lts sudo add-apt-repository ppa ...