1.OSI (Open System Interconnect Protocol) 开放互联协议,这是一个七层的计算机网络协议,包括:物理层、数据链路层、网络层、传输层、回话层、表示层、应用层。
         TCP/IP (Transmission Control Protocol/ Internet Protocol): 传输控制协议 /因特网互联协议,这是一个四层的计算机网络模型,分别是:网络接口层、网络层、传输层和应用层。结合 OSI和TCP/IP 产生了一个五层结构:物理层、数据链路层、网络层、传输层、和应用层。当前使用的就是 TCP/IP协议的Internet
2. 集线器是工作在物理层,网卡工作在 OSI的物理层,交换机工作在数据链路层,而路由器是工作在网络层。
3.ARP 是地址解析协议,具体的工作原理就是:
          首先每一个主机都会在自己的 ARP缓冲区内简历一个ARP列表,以表示 IP地址和MAC 地址之间的对应关系;
          当源主机地址需要发送数据的时候,首先检查 ARP列表中是否有对应的IP地址的目的主机的 MAC地址,如果有的话,直接想目标的 MAC发送数据;如果没有的话,就像本网所有的主机发送 ARP数据包,该数据包的主要内容由:源主机的 IP地址,源主机的MAC地址,目的主机的 IP地址。
          当本网络的所有主机接收到给 ARP数据包的时候,首先检查数据包中的 IP地址是是否是自己的IP地址,如果不是的话,则忽略该数据包;如果是自己的主机的 IP地址,首先会从数据包中获取源主机的 IP和MAC 地址,写入到 ARP列表中,如果已经存在的话,则会直接覆盖掉,然后将自己的 Mac地址写入ARP 响应包中,告诉源主机自己的 MAC地址。
          源主机接收到 ARP响应包之后,将目的主机的 IP和MAC 地址写入 ARP列表,并且利用此信息发送数据。如果源主机一直没有收到 ARP响应的数据包,那么表示 ARP查询失败,主机不可见。
          广播发送 ARP请求,单播发送ARP响应。
4.DNS (Domain Name System)域名系统
         DNS 是Internet上面的一个核心的服务,他可以将域名和 IP地址之间相互映射的一个分布式数据库,便于 Internet访问,而不用用户区记忆 IP地址。DNS 使用的是端口 53,主要使用的是UDP传输协议,当然在服务器之间互相被备份的时候,会使用 TCP传输协议。
         DNS 一般是不会直接给用户使用,而是为其他应用服务的,如 HTTP,SMTP 协议的等等在其中需要完成主机名到 IP地址的转换。
5.TCP 和UDP的区别
         TCP 是提供面向连接的、可靠地数据流传输,但是 UDP提供的是非面向连接的不可靠的数据流传输。 TCP传输的单位是TCP报文段, UDP传输的单位是成为用户数据报。 TCP注重的是数据的安全性,但是 UDP目的值传输速度快,因为不需要等待连接,较少了很多的操作,但是安全性,数据完整性不保证。
6.ICMP 协议
         ICMP 是因特网控制报文协议( Internet Control Message Protocol). 他是TCP/IP 的一个子协议,用于在 IP主机、路由器之间的传递控制消息。控制消息是指网络通不通,主机是否科大、漏油器是否可用等网络本身的消息。这种消息虽然并不传输用户数据,但是对于用户数据的传输起着十分重要的作用。 ICMP报文有两种:差错报文和询问报文。
          他是一种面向连接的协议,用于传输出错报告控制信息。该协议属于网络层协议,主要用于在主机和路由器之间传递控制信息。当遇到 IP数据无法访问目标、IP路由器无法按照当前的传输速率转发数据包的情况的时候,会自动发送 ICMP信息。
         ICMP 协议是提供一致的易懂的出错报文信息。发送出的报文返回给源数据设备,因为只有发送者的设备才是出错报文的逻辑接受者。发送设备随后根据 ICMP报文信息确定发生错误的类型,并且确定如何才能够更好地重新发送失败的数据包。但是 ICMP的唯一功能是报告问题而不是纠正错误,纠正错误的认识是又发送方完成。
          经常使用 iCMP协议比如检查网络的畅通性,使用 ping就死ICMP 协议的工作过程,其他的网络命令也是如此基于 ICMP协议的。
         ICMP 攻击: 就是想 Server发送数据包,耗费Server资源。 Ping of Death:即使利用操作系统的一个漏洞,当 ICMP数据包的大小超过64k的上限的时候,主机就会出现内存分配错误的故障,导致 TCP/IP堆栈崩溃,致使死机的问题。(目前已经取消了对于 ICMP数据包的限制)但是如果向目标地址长时间连续的大量发送 ICMP数据包,也会致使系统瘫痪,形成 ICMP风暴,导致主机耗费大量的 CPU资源,疲于忙碌。
          防止Death of Ping的方法:可以采取两种方法进行防范:第一种方法是在路由器上对 ICMP数据包进行带宽限制,将 ICMP占用的带宽控制在一定的范围内,这样即使有 ICMP攻击,它所占用的带宽也是非常有限的,对整个网络的影响非常少;第二种方法就是在主机上设置 ICMP数据包的处理规则,最好是设定拒绝所有的 ICMP数据包.

TCP/IP网路协议复习的更多相关文章

  1. 计算机网络【1】—— OSI七层协议和TCP/IP四层协议

    新开一贴,专门用来记录计算机网络相关知识. 一.OSI七层协议 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 二.TCP/IP四层协议 网络接口层.网际层.运输层.应用层 三.五层协议 ...

  2. Linux--网络基础(概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程)

    网络的发展 网络的发展有下面几个阶段: 独立模式:计算机最开始是以单机模式被广泛使用的.每一台计算机都是独立的,之间不能够进行数据共享与通信 网络互联: 计算机之间可以链接在一起,完成数据共享,计算机 ...

  3. 对TCP/IP网络协议的深入浅出归纳

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...

  4. 转:对TCP/IP网络协议的深入浅出归纳

    转自:http://blog.jobbole.com/74795/ 前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没 ...

  5. 对TCP/IP网络协议的深入浅出归纳(转)

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...

  6. TCP/IP网络协议的通俗理解,SOCKET,HTTP,SOAP

    TCP/IP,HTTP,SOAP等协议之区别   术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议.“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络.把IP想 ...

  7. Linux学习(1)- TCP/IP网络协议基础

    Linux学习(1)- TCP/IP网络协议基础 一.TCP/IP 简介 学习内容 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输 ...

  8. TCP/IP四层协议模型与ISO七层模型

    TCP/IP四层协议模型与ISO七层模型 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他 ...

  9. TCP/IP网络协议基础

    实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...

随机推荐

  1. 斐迅面试记录—SSL和TLS的区别

    SSL 是洋文“Secure Sockets Layer”的缩写,中文叫做“安全套接层”.它是在上世纪90年代中期,由网景公司设计的.(顺便插一句,网景公司不光发明了 SSL,还发明了很多 Web 的 ...

  2. Ubuntu安装dlib后import出现libstdc++.so.6: version `GLIBCXX_3.4.21' not found

    1 问题描述 先安装依赖包cmake,libboost,再安装dlib sudo apt-get install cmake sudo apt-get install libboost-python- ...

  3. 搭建Firekylin博客

    搭建步骤 1).安装 Node.js curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash - yum - ...

  4. ROS学习

    随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求.2010年Willow Garage公司发布了开源机器人操作系统ROS(robot ...

  5. 关于Log4Net的使用和配置

    1. 添加log4net.dll引用 2.在添加引用的那层的 AssemblyInfo.cs         注册   : [assembly: log4net.Config.XmlConfigura ...

  6. RocEDU.阅读.写作《霍乱时期的爱情》书摘(二)

    她不会流一滴眼泪,不会浪费自己的余生,在慢火煮炖的回忆的蛆肉汤中煎熬,不会把自己活活埋葬在四面墙壁之间,成日为自己缝制寿衣,尽管这是当地人乐见寡妇做的事情. 活到这把年纪,人还在的时候就已经腐烂一半了 ...

  7. Kali视频学习1-5

    Kali视频学习1-5 安装 安装Kali虚拟机 设置网络更新,使用了163的源 deb http://mirrors.163.com/debian wheezy main non-free cont ...

  8. Java 安装教程(Eclipse) + 汉化 + 简单创建java项目

    Java 安装教程(Eclipse) 要安装Java 要分两个步骤: 1.JDK的安装 2.Eclipse的安装 3.Eclipse汉化 4.Eclipse创建简单java项目 1和2的顺序不能颠倒, ...

  9. 学Git,用Git ①

    本月开始接触到Git版本管理工具,觉得很有意思,在这里总结一下学习Git的一些心得体会. 要在Mac上完整的使用git进行版本管理,需要熟悉Mac终端操作命令和Git操作命令两种命令,索性两种命令加在 ...

  10. oracle update set select from 关联更新

    工作中有个需求,现在新表中有一些数据跟老表的基本一样,这样只需要把老表中数据搬到新表中就可以了,同时把不同的字段修改下数据即可,在修改字段时发现,需要指定一个条件,比如主键id,来修改某条记录,这样一 ...