11.07.2015 Views

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

flag 197• Hiding all the internal network addresses on a localnetwork, presenting only a single address to theoutside world (this is also called NAT, or NetworkAddress Translation)• monitoring particular applications such as ftp (filetransfer protocol) <strong>and</strong> telnet (remote login), restrictingthem to certain addresses. Often a special addresscalled a proxy is established rather than allowingdirect connections between the outside <strong>and</strong> the localnetwork.Firewalls are usually configured by providing a rule thatspecifies what is to be done based on the origin address orother characteristics <strong>of</strong> an incoming packet. Because connectionsmade by local programs to the outside can alsocompromise the system, rules are also created for suchapplications. The firewall package may come with a set <strong>of</strong>default rules for common applications <strong>and</strong> situations. Whensomething not covered by the rules happens, the user willbe prompted <strong>and</strong> guided to establish a new rule.Modern firewalls are “stateful,” meaning that they keeptrack not only <strong>of</strong> the source <strong>and</strong> destination <strong>of</strong> individualpackets but their context (including originating application).Micros<strong>of</strong>t Windows Vista has improved the operatingsystem’s built-in firewall, at the expense <strong>of</strong> added complexity.Zone Labs’s ZoneAlarm is another popular PC firewall.Linux provides a default firewall called iptables, which canbe configured by a variety <strong>of</strong> applications. For added protection,users <strong>of</strong> broadb<strong>and</strong> Internet connections should notconnect their PC directly to the Internet. Rather, an inexpensivewired or wireless router that includes a built-infirewall can be connected on one side to the cable or DSLmodem <strong>and</strong> on the other side to one or more computers inthe local network.Internet security packages for home users <strong>of</strong>ten combinea firewall with other services such as virus protection,parental control, <strong>and</strong> blocking <strong>of</strong> objectionable content oradvertising.Further ReadingHome PC Firewall Guide. Available online. URL: http://www.firewallguide.com/. Accessed August 4, 2007.Komar, Brian, Ronald Beekelaar, <strong>and</strong> Joern Wettern. Firewalls forDummies. 2nd ed. New York: Wiley, 2003.Noonan, Wes, <strong>and</strong> Ido Dubrawsky. Firewall Fundamentals. Indianapolis:Cisco Press, 2006.ZoneAlarm. Available online. URL: http://www.zonealarm.com.Accessed August 4, 2007.Zwicky, Elizabeth D., Simon Cooper, <strong>and</strong> D. Brent Chapman.Building Internet Firewalls. 2nd ed. Sebastapol, Calif.: O’ReillyMedia, 2000.FireWireFireWire is a high-speed serial interface used by personalcomputers <strong>and</strong> digital audio <strong>and</strong> video equipment. (Thename FireWire is an Apple br<strong>and</strong> name, but it is used generically.Technically it is the IEEE 1394 Serial Bus.)FireWire was developed in the 1990s by the IEEE P1394Working Group with substantial funding from Apple <strong>and</strong>help from engineers from major corporations includingIBM, Digital Equipment Corporation (DEC), Sony, <strong>and</strong>Texas Instruments. In 1993 it was hailed as the “most significantnew technology” by Byte magazine.FireWire was intended to replace Apple’s parallel SCSI(Small <strong>Computer</strong> System Interface). (Sony’s implementation,called I.Link, omits the two power pins in favor <strong>of</strong> aseparate power connector.) However, because Apple askedfor $1.00 per port in patent royalties, Intel instead developeda faster version <strong>of</strong> the universal serial bus (see usb)<strong>and</strong> that, rather than FireWire, is the st<strong>and</strong>ard port on mostWindows machines.Common uses for FireWire include connecting digitalvideo (such as camcorder) devices, audio devices, <strong>and</strong> somedata storage devices. FireWire is favored over USB 2.0 formany pr<strong>of</strong>essional applications because <strong>of</strong> its higher speed<strong>and</strong> power distribution capabilities. However, it is moreexpensive than USB 2.0, which provides sufficient speedfor many consumer peripherals such as digital cameras <strong>and</strong>printers.Further ReadingAnderson, Don, <strong>and</strong> MindShare, Inc. FireWire System Architecture.2nd ed. Boston: Addison-Wesley Pearson Education, 1998.FireWire (Apple Developer Connection). Available online. URL:http://developer.apple.com/hardwaredrivers/firewire/index.html. Accessed September 20, 2007.flagA flag is a variable that is used to specify a particular conditionor status (see variable). Usually a flag is either true orfalse. For example, a flag Valid_Form could be set to truebefore the input form is processed. If the validation checkfor any data field fails, the flag would be set to false. Afterthe input procedure has ended, the main program wouldcheck the Valid_Form flag. If it’s true, the data on the formis processed (for example, continuing on to the paymentprocess). If the flag is false, the input form might be redisplayedwith errors or omissions highlighted.Flags can be combined to check multiple conditions. Forexample, suppose the input form routine also looked up thecustomer’s account <strong>and</strong> checked to make sure the customerwas approved for purchasing. The test for this might read:If Valid_Form <strong>and</strong> Valid_Customer then// continue processing else// display error messagesIn such cases, the flags are combined using the appropriate<strong>and</strong> or or operators (see Boolean operators).While flags are <strong>of</strong>ten used inside a routine to keep track<strong>of</strong> processing, modern programming practice discouragesthe use <strong>of</strong> “global” flags at the top level <strong>of</strong> the program. Aswith other global variables, such flags are vulnerable tobeing unpredictably changed or to having two parts <strong>of</strong> theprogram check the same flag without being able to rely onits state. (Thus a routine relies on a global flag being truebut calls another routine that sets the flag to false withoutthe original routine checking it again.) If several routines

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!